我正在开发一个Web应用程序,我在一个页面上有两个下拉列表。
<div id="A">
<select>
<option value="">please select</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
<select>
<option value="">please select</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
</select>
</div>
现在,我想要选择两个下拉列表(除了“请选择”),或者用户不能再进一步了。 这是我的jquery代码。
var error=0;
var selected_option = $('#A>select option:selected');
$('#A').each(function() {
if(!$('#A select').selected){
error++;
}
});
if (error>0) {
alert('Choose the bloody option');
return false;
}
到目前为止,实际结果是提醒消息正常,强制选择部分正常工作。然而,即使我从两者中选择,我仍然保持警觉和卡住。想想也许我的if condition
设置得不合适。请有人给我一个帮助。非常感谢你。
答案 0 :(得分:2)
为val()选择更改以获取select的值。
if(!$('#A select').val()){
答案 1 :(得分:1)
尝试
var valid = $('#A select').filter(function(){
return $.trim($(this).val()) == ''
}).length == 0
if(!valid){
alert('not selected')
}
演示:Fiddle
另一个版本
if ($('#A select').has('option:selected[value=""]').length > 0) {
console.error('not selected')
}else {
console.log('valid')
}
演示:Fiddle
答案 2 :(得分:1)
你可以试试这个是另一种实现你想要的方式
$('#A select').each(function() {
if(this.options[this.selectedIndex].value != 'please select'){
//do here your action
}
}
答案 3 :(得分:1)
试试这个:
$('#A select').each(function() {
if($(this).find('option:selected').text() == 'please select'){
error++;
}
});
答案 4 :(得分:1)
var selected_option = $('#A>select option:selected');
$('#check').click(function () {
var error = 0;
$('#A select').each(function () {
if ($(this).val() == '') {
error++;
}
});
if (error > 0) {
alert('Choose the bloody option');
return false;
}
});
答案 5 :(得分:1)
你可以尝试:
var errors = 0;
$("#A select").each(function(){
if($(this).find("option:selected").is(":eq(0)")){
errors++;
}
});
if(errors>0){ alert('error!'); }