4

以下のセレクターを使用して、値が事前に入力されているすべてのフォーム入力を取得しています。

$('input[value!=""]');

これはうまく機能するので、Chromeですべての選択要素を選択しているように見えますが、次のセレクターを使用して同じロジックを選択要素に適用できると思いました。

$('select[value!=""]');

以下は、フォーム上の2種類の選択の例です。

<select name="phone2_type" id="phone2_type">
  <option value="">Select one:</option>
  <option value="HOME">Home</option>
  <option value="CELL">Cell</option>
  <option value="BUSN">Business</option>
</select>

<select name="state" id="state">
  <option value="">Select one:</option>
  <option value="XX">Outside USA/Canada</option>
  <option value="AL" selected="selected">Alabama</option>
  <option value="AK">Alaska</option>
  ...
</select>

select = "selected"ですでに値が選択されているため、2番目の選択を選択したいと思います。

4

3 に答える 3

7

valueselectタグの属性ではありません。

だからあなたは試す必要があります:

var emptySelect = $('select').filter(function() {
                     return $.trim( $(this).val() ) == '';
                  });
于 2013-02-18T18:06:26.703 に答える
2

selectには、JQueryによって利用可能になった特別なセレクターを使用する必要があります:: selected

それで

$('#state option:selected').val()

現在選択されている値です。

選択した要素自体で何かを行う必要がある場合は、次のようなことを行うことができます。

$('#select option:selected').parents('select').dosomething(...)
于 2013-02-18T18:09:06.363 に答える
1
$('select').has('option[selected="selected"]')

select要素を取得します。jsFiddleの例

于 2013-02-18T18:10:26.410 に答える