0

オプションではなく、すべての選択の現在の値だけをどのように反復しますか?

私はこれのバリエーションを試しました:

$('select[name^="mydropdowns"] :selected').each(function() {
   if ($(this).val() != 'Test') {
      alert("Found.");
   }
 });

「テスト」は、いくつかのドロップダウン メニューでデフォルトで選択されている値ですが、このスクリプトはアラートを返しません。ここで何が間違っていますか?

4

4 に答える 4

6

選択を繰り返すだけ

$('select[name^="mydropdowns"]').each(function() {
   if ($(this).val() != 'Test') {
      alert("Found.");
   }
});

val()要素ではinput/select/textareaなく、option要素に適用できます。

jQuery ドキュメントから: http://api.jquery.com/val/

.val() メソッドは主に、input、select、textarea などのフォーム要素の値を取得するために使用されます。

于 2012-09-10T07:39:00.737 に答える
1

ここで、上記の問題の完全なビンを作成しました。デモリンクを一度ご確認ください。

デモ: http://codebins.com/bin/4ldqp7h

HTML

<div>
  <input type="button" id="btn1" value="Check Dropdown Values" />
</div>
<div>
  <select name="mydropdowns1">
    <option value="Test">
      Test
    </option>
    <option value="Test1">
      Test1
    </option>
    <option value="Test2">
      Test2
    </option>
    <option value="Test3">
      Test3
    </option>
    <option value="Test4">
      Test4
    </option>
  </select>
  <select name="mydropdowns2">
    <option value="Test">
      Test
    </option>
    <option value="Test1">
      Test1
    </option>
    <option value="Test2">
      Test2
    </option>
    <option value="Test3">
      Test3
    </option>
    <option value="Test4">
      Test4
    </option>
  </select>
  <select name="mydropdowns3">
    <option value="Test">
      Test
    </option>
    <option value="Test1">
      Test1
    </option>
    <option value="Test2">
      Test2
    </option>
    <option value="Test3">
      Test3
    </option>
    <option value="Test4">
      Test4
    </option>
  </select>
  <select name="mydropdowns4" multiple="multiple">
    <option value="Test">
      Test
    </option>
    <option value="Test1">
      Test1
    </option>
    <option value="Test2" selected="selected">
      Test2
    </option>
    <option value="Test3">
      Test3
    </option>
    <option value="Test4" selected="selected">
      Test4
    </option>
  </select>
</div>

jQuery:

$(function() {
    $("#btn1").click(function() {
        $('select[name^="mydropdowns"]').each(function() {
            if ($(this).val() != "Test") {
                alert("Dropdown[Name=" + $(this).attr('name') + "] has selected value " + $(this).val());
            }
        });
    });
});

デモ: http://codebins.com/bin/4ldqp7h

于 2012-09-10T09:30:37.660 に答える
1

缶自体はSELECT選べませんOPTION。そのため、アラートが表示されません。

于 2012-09-10T07:41:45.260 に答える