Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery-如果div中的任何Select具有值_Javascript_Jquery_If Statement - Fatal编程技术网

Javascript jQuery-如果div中的任何Select具有值

Javascript jQuery-如果div中的任何Select具有值,javascript,jquery,if-statement,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>

这件事有很多麻烦。假设我有以下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>

我做错了什么?提前谢谢,我喜欢这个网站!:)

您的测试失败,因为
length
不是一种方法。这是一种财产。卸下
()
。如果您查看调试器,您应该会看到一条关于此的警告

此外,您的选择器应该检查所选选项,而不是选择列表本身

例如:


快速提示:如果您希望警报只显示一次,而不是每次“选择一个”,只需将警报()移动到else{语句中。再次感谢您的回答!

您可以使用$。each():


请注意,一旦发现缺少的字段,返回false将阻止循环继续。

如果第一个字段说“是”或“否”,而第二个字段仍然说“选择一个”,则返回正确。如果其中任何一个字段具有该值,则应返回“请选择一个”。非常感谢您的帮助,尽管我非常感谢!非常感谢!我会选择一个我自己解决了这个问题还有一件事,你知道我怎样才能让警报只显示一次,即使两个警报都没有被选中?你可以把它移到其他条件,就这样。太接近了!!这个警报可以工作了,但是如果第一个警报被选中,即使第二个警报没有被选中,它仍然会提交,尽管警报会首先弹出..在另一个世界中ds它仍然运行我正在使用的else语句,但出于某种原因,它首先运行“if”中的语句。有什么想法吗?非常感谢您的帮助!对,这取决于您添加一个标志并相应地处理操作。您可以添加一个变量来测试迭代后的状态,并将警报移到loo之外P
$('#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() {
    $foo = $('#step_1 select option:selected[value="select one"]');
    alert($foo.length);
});
$('#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();
    }
});
$('#step_1').find('SELECT').each( function() {
    if( $(this).val() === 'select one' ) {
        alert('Please select yes or no!');
        return false;
    }
});