请帮我解决这个问题
我想显示所选项目文本不是&#34的下拉列表数量;选择答案"。
以下是我的HTML代码..
<table>
<tr>
<td>
<select id="S1" class="dropdown">
<option value="" selected="selected">Select answer</option>
<option value="1">A</option>
<option value="2">B</option>
<option value="3">C</option>
</select>
</td>
<td>
<select id="S1" class="dropdown">
<option value="" selected="selected">Select answer</option>
<option value="1">A</option>
<option value="2">B</option>
<option value="3">C</option>
</select>
</td>
</tr>
<table>
下面是我的jQuery代码
$('select').change(function()
{
alert($(this).parents('TR').find('select').filter($(this).find("option:selected").text()!="Select answer").size())
});
但它不起作用,似乎我的代码存在一些问题。请有人帮助我。
答案 0 :(得分:0)
试试这个:
var count = $(this).parents('TR').find('select').filter(function() {
return $(this).find("option:selected").text() == "Select answer";
}).length;
alert(count);
答案 1 :(得分:0)
修复HTML以使Selects具有唯一ID:
<table>
<tr>
<td>
<select id="S1" class="dropdown">
<option value="" selected="selected">Select answer</option>
<option value="1">A</option>
<option value="2">B</option>
<option value="3">C</option>
</select>
</td>
<td>
<select id="S2" class="dropdown">
<option value="" selected="selected">Foobar</option>
<option value="1">A</option>
<option value="2">B</option>
<option value="3">C</option>
</select>
</td>
<td>
<select id="S3" class="dropdown">
<option value="" selected="selected">Select answer</option>
<option value="1">A</option>
<option value="2">B</option>
<option value="3">C</option>
</select>
</td>
</tr>
<table>
使用这个JQuery:
$(function(){
alert($('select').map(function(){
if($(this).find(':selected').html() == 'Select answer')
{
return $(this).attr('id');
}
}).get().join(','));
});
会提醒S1,S3
答案 2 :(得分:0)
这应该有效:
$('select').change(function()
{
var count = 0;
$("select").each(function() {
if (!$(this).val()){
count++;
}
});
alert(count);
});
此外,您还有两个相同的ID。
答案 3 :(得分:0)