javascript - jQuery - 如果 div 中的 ANY Select 有一个值

标签 javascript jquery if-statement

在这方面遇到了很多麻烦。假设我有以下 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/

相关文章:

java - 这个 if else 语句有问题吗?

javascript - 触发焦点/模糊事件时获取鼠标位置?

javascript - 如何在选择事件的 Bootstrap 双列表框中获得回调函数?

javascript - 为什么我的 onclick 事件不显示我的 JSON 文件?

javascript - jQuery 验证 - 使用多个 errorLabelContainer

jquery - 如何在另一个链接处于事件状态时删除其他链接上的事件状态

c# - 检查 Mysql 中的值,否则更新值

javascript - 在 knockout.js 中选中全部或取消选中所有的 TreeView

jquery - iOS 7 Safari jquery text() 没有被渲染

linux - 创建目录结构的 Bash 脚本