查找所有表单元素并排除空字段,然后选择值为-1的元素

时间:2015-09-07 08:35:39

标签: javascript jquery

我需要找到所有表单元素并排除空字段并选择值为-1的元素

我试过这个

$('form#myForm').find(":input[value!=''][value!='-1']");

这适用于所有元素,但我需要仅将value!=-1条件应用于选择元素

5 个答案:

答案 0 :(得分:1)

您需要使用:

$("form#myForm select").filter(function(){
    return $(this).val() != -1;
}).add("form#myForm :input[value!='']:not(select)");

答案 1 :(得分:1)

您不应该使用'标记#id'也不是' #id otherSelector'选择器见http://lab.abhinayrathore.com/jquery-standards/#Selectors

var $notEmptyInputs = $('#myForm').find(':input').filter(function(){
    var include = true;
    if (this.tagName == 'SELECT') {
        include = this.value !== '-1';
    } else {
        include = !!this.value;
    }
    return include;
})

答案 2 :(得分:0)

不是这样的:

$('form#myForm').find(":input[value='-1']");

这样,您只能过滤那些只有-1值的元素。

答案 3 :(得分:0)

如果值是硬编码的,您可以使用:

$('form#myForm :input[value="-1"]');  

其他:

$('form#myForm :input').filter(function(){return this.value=='-1'})

答案 4 :(得分:0)

您可以遍历所有输入并执行任何操作

$('form#myForm :input[value!=""]').each(function() {
  var itemValue = this.val();
  if(itemValue != "-1" || itemValue == "Y")
    alert("Item value is " + itemValue);
});