0

ページにドロップダウンメニューがあります。これは次のようなものです。

   <select id="my_dropdown" name="my_dropdown">
       <option value="one">ONE</option>
       <option value="two">TWO</option>
       <option value="three">THREE</option>
   </select>
   <input type="text" size="10" id="foobar" value="0" />

そして私のjQueryコードは次のとおりです。

   $('#foobar').keyup(function(){
       notOptionOne();
   }

   function notOptionOne() {
       if ( !$('#my_dropdown').val('one') ) {
           alert('Option ONE was not selected');
       }
   }

ドロップダウンの選択内容に関係なく、入力ボックスにテキストを入力すると、アラートボックスが表示され、ドロップダウンの選択が1にリセットされます。警告ボックスを閉じるとき、または他のことをするときに、離れる場所を選択したままにしておきたい。この動作の原因は何ですか?

4

4 に答える 4

3
   function notOptionOne() {
   if ( $('#my_dropdown').val()!='one' ) {
       alert('Option ONE was not selected');
   }
   }

jQueryのval()関数は、値を取得することも、値を設定することもできます。パラメータを渡すと、jQueryはコントロールの値を設定します。パラメータがない場合は、値を取得します。

于 2012-06-14T06:43:24.763 に答える
1

これを試して:

$('#my_dropdown').val() !== 'one' 

$('#my_dropdown').val('one')jqueryラッパー、配列のようなオブジェクトです。そのため!$('#my_dropdown').val('one')、常にfalseであり、は取得されませんalert

于 2012-06-14T06:44:11.973 に答える
1

これを試して:

$('#my_dropdown').change(function(){
   if ($(this).val() != 'one') {
      alert('Option ONE was not selected');
   }
})
于 2012-06-14T06:46:06.387 に答える
1

$('#my_dropdown').val('one')#my_dropdownの値をone(構築の場合でも)として設定します。

要素の値を取得し、#my_dropdown文字列と比較する必要がありますone

function notOptionOne() {
    if ($('#my_dropdown').val() != "one") {
       alert('Option ONE was not selected');
    }
}
于 2012-06-14T06:49:31.403 に答える