jquery序列化而非选择器

时间:2015-12-15 14:53:01

标签: jquery serialization jquery-selectors

我尝试使用 not 选择器的jquery serialize( $。serialize())但没有成功。 我有一个表格,我希望在序列化之前将其排除。

这是代码:

$("#id_form").not("#id_table").serialize();

这是一个fiddle来解释问题

3 个答案:

答案 0 :(得分:1)

要仅过滤不属于您可以使用的表的输入:

$("#id_form :input").filter(function() {
  return ($('#id_table').find($(this)).length == 0);
}).serialize();

另一种解决方案是:

$("#id_form :input").not($('#id_table :input')).serialize();

简化所有任务的可能解决方法是创建自己的过滤器:

$.extend($.expr[':'],{
   inputNotInTable: function(ele) {
      var obj = $(ele);
       return obj.is(':input') == true && obj.closest('#tab1').length == 0;
   }
});

$("#test :inputNotInTable").serialize();

答案 1 :(得分:1)

这是使用此解决方案的fiddle的分支

$("#test :input").not($("#tab1 :input")).serialize();

我认为这是更好的方法

答案 2 :(得分:0)

您可以创建for i in 10000: value = 0.2 * i myfun(tag, value, i) 的{​​{1}},然后删除.clone(),然后您可以使用该序列化:

form

注意:我在移动设备上,无法检查小提琴。