Javascript jQuery:selectdivs,其中所有selectinside都没有0值

Javascript jQuery:selectdivs,其中所有selectinside都没有0值,javascript,jquery,Javascript,Jquery,我有以下html结构: <div class="subform_uploading" id="subform1"> <select class="form_file"> <option value="0">Select file</option> <option value="file1">file1</option> ... <option va

我有以下html结构:

<div class="subform_uploading" id="subform1">
    <select class="form_file">
        <option value="0">Select file</option>
        <option value="file1">file1</option>
        ...
        <option value="file10">file10</option>
    <select>
    <select class="form_title">
        <option value="0">Select Title</option>
        <option value="title1">title1</option>
        ...
        <option value="title10">title10</option>
    <select>
</div>
...
<div class="subform_uploading" id="subform5">
    <select class="form_file">
        <option value="0">Select file</option>
        <option value="file1">file1</option>
        ...
        <option value="file10">file10</option>
    <select>
    <select class="form_title">
        <option value="0">Select Title</option>
        <option value="title1">title1</option>
        ...
        <option value="title10">title10</option>
    <select>
</div>

选择文件
文件1
...
文件10
选择标题
标题1
...
标题10
...
选择文件
文件1
...
文件10
选择标题
标题1
...
标题10
我喜欢使用jQuery获得的是“subform\u uploading”类中的div元素数,其中两个select值都不等于0。

请尝试类似的过滤器

$('button').click(function () {
    var $els = $('.subform_uploading').filter(function () {
        return $(this).find('select').filter(function () {
            return $(this).val() == 0
        }).length == 0;
    });
    console.log($els, $els.length)
})

演示:

我不确定是否有办法使用一行jquery选择器。 不过,此函数将返回您想要的内容

演示:


您只需将每个
中的
元素数与每个
中的
元素数进行比较,其中值不是
0

var numDivs = $('div.subform_uploading').filter(function() {

  var $this = $(this), 
      $select = $this.find('select');

  return $select.length == $select.filter(function() { return this.value != 0 }).length; 

}).length;

谢谢你的回复。但据我所知,它输出两个select元素都为0的div数。我需要div的数量,其中两个select都不等于0。
function getDivs () {
    var outDivs = [];
    var divs = $('div.subform_uploading');
    divs.each (function ( ) {
       var sels =   $(this).find ('select option[value!="0"]:selected');
       if (sels.length == 2) {
            outDivs.push ( $(this) );
       }
   });
   return outDivs;
 }
var numDivs = $('div.subform_uploading').filter(function() {

  var $this = $(this), 
      $select = $this.find('select');

  return $select.length == $select.filter(function() { return this.value != 0 }).length; 

}).length;