1
$('#button').click(function() {
   if ($('select[name^="dropdown_"][value="Test 1"]').length) {
      alert("Found.");
   }
});

ページに 6 つのドロップダウン メニューがあります。それらのいずれかで特定の値が選択されているかどうかを確認しようとしています。上記は正しいように見えますが、それを行っていません。ここで何が欠けていますか?

4

4 に答える 4

2

これを試して。セレクターでこのオプションを使用できます。

if ($('select[name^="dropdown_"] > option[value="Test 1"]:selected').length) {
      alert("Found.");
   }

あなたはそれがここで働いているのを見ることができます。http://jsfiddle.net/UECsS/

于 2012-09-10T20:00:24.810 に答える
2

ここでの問題は、HTMLselectにvalue属性がないことです。これが出力が表示されない理由です。

このフィドルをチェック

$(function(){
    $('#btn1').on('click' , function() {
        if ($('select[name^="dropdown_"]').val() == "Test 1") {     
           alert('Found !!') ;           
        };            
    }); 
});​
于 2012-09-10T19:54:49.590 に答える
1

このセレクターを使用します。

$("select[name^="dropdown_"] option[value="Test 1"]:selected)

これらのオプション値にクラス名を使用して、次のように効率的に取得できるようにすることをお勧めします。

$('.optionTest1:selected')

または、少なくとも選択にクラス名を適用します

$('.dropdownSelect option[value="Test 1"]:selected')
于 2012-09-10T20:01:52.533 に答える
1

要素のプロパティを見つけようとして属性セレクターを使用している。選択したプロパティ自体を確認する必要があります。

$('#button').click(function() {
   if ($('select[name^="dropdown_"]').is(function(){return this.value == 'Test 1'})) {
      alert("Found.");
   }
});

デモ

于 2012-09-10T20:02:44.833 に答える