2016-07-14 2 views
0

を変更私は2つのオプションヴァル上の `Select2`代替他の入力プレースホルダは

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

とseclet2ドロップダウンを持っていることは、最初の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() 

答えて

2

...

$("#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イベントハンドラ内に存在しなければならない、とプレースホルダは、の値に基づいて変更する必要があります選択。

+0

'this.value'の代わりに' $(this).val() 'を使っても同じ結果が得られます;-) – shramee

+0

Derp、私は誓いました。それは私が思った。ありがとう! – NooBskie

+0

あなたを歓迎します;-)あなたがそれに満足しているとき、親切に答えを受け入れます:-) – shramee

関連する問題