`Select2` 在 val 更改时替代其他输入占位符

`Select2` Alternate other input placeholder on val change

我有一个带有两个选项的 seclet2 下拉菜单

<select id="ddlsearch">
  <option value="0">Translated Search</option>
  <option value="1" selected="">Exact Search</option>
</select>

它似乎为第一个 if 语句正确更改了占位符,但我似乎无法让我的 else 语句工作。我到底做错了什么?

function selectPlaceholder() {
    var reportLevel = "0",
        $select = $("#ddlsearch")

    if (reportLevel == "0") {
        $select.on("change", function(e) {
            $('#txtkey').attr('placeholder', 'asd')
        });
    } else {
        $select.on("change", function(e) {
            $('#txtkey').attr('placeholder', '123')
        });
    }
};
selectPlaceholder()

你需要做这样的事情...

$("#ddlsearch").on("change", function(e) {
  if ("0" == this.value) {
    $('#txtkey').attr('placeholder', 'asd')
  } else {
    $('#txtkey').attr('placeholder', 'fgh')
  }
}).change();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<h4> Your select </h4>

<select id="ddlsearch">
  <option value="0">Translated Search</option>
  <option value="1" selected="">Exact Search</option>
</select>

<h4> Your text input somewhere </h4>
<input id='txtkey'>

if 语句应驻留在 change 事件处理程序中,占位符应根据 select 的值进行更改。