在这方面遇到了很多麻烦。假设我有以下 html:
<div id='step_1'>
<select name='select_1' id='choose'>
<option value='select one'>Select One</option>
<option value='yes'>Yes</option>
<option value='no'>No</option>
</select>
<select name='select_2' id='choose_again'>
<option value='select one'>Select One</option>
<option value='yes'>Yes</option>
<option value='no'>No</option>
</select>
<button id='submit'>button</button>
</div>
我有很多这样的东西,所以我想做的是,如果任何“select”的值为“Select One”,则返回 false,然后提醒他们。我目前使用的 jQuery 看起来是这样的:
$('#submit').click(function() {
if ($('#step_1 select[value="select one"]').length() == 0) {
//succeed
} else {
alert('Please select yes or no!');
return false;
}
});
我做错了什么?提前致谢,我喜欢这个网站! :)
最佳答案
$('#submit').click(function(e) {
var flag = true;
$('select').each(function(){
if($(this).val() == "select one"){
alert("please select a value in " + $(this).attr("name"));
flag = false;
}
});
if(flag){
alert('perfect');
}else{
e.preventDefault();
}
});
示例:http://jsfiddle.net/raj_er04/3kHVY/1/
快速说明:如果您希望警报只显示一次而不是每次“选择一个”时显示一次,只需将 alert() 移动到 else{ 语句中。再次感谢您的回答!
关于javascript - jQuery - 如果 div 中的 ANY Select 有一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8937227/