如何从特定表单中删除字段

时间:2011-08-29 14:44:02

标签: jquery forms selector

使用jquery,我想删除基于类名选择器的隐藏输入,但我只想在一个特定表单中删除它?

类似的东西:

$('.addToCartButton').click(function () {

    var form = $(this).closest('form');

    //remove all inputs with class name "test" inside of the form object above.

});

这样做的最佳方式是什么?

更新


作为后续问题,我该怎样才能 1.首先将每个输入val()读入变量,然后将其删除? 2.从find方法中获取第一个元素(因为它可以返回多个元素)?

3 个答案:

答案 0 :(得分:2)

这应该做到

$(form).find('input.test').remove();  //remove all elements

http://api.jquery.com/remove/

跟进:

var firstItem=$(form).find('input.test')[0]; // only the first item

var arr=[];  //this will build an array of the values
 $(form).find('input.test').each(function(){
    arr.push($(this).val());
  });

var arr=[];  //this will build an array of the names andvalues with a comma between
 $(form).find('input.test').each(function(){
    arr.push($(this).name + "," + $(this).val());
  });

遍历数组中的所有值

for(var i=0;i<arr.length;i++){
    alert(arr[i]);
}

答案 1 :(得分:2)

试试这个

$('.addToCartButton').click(function () {

    var form = $(this).closest('form');
    var inputValues = {};

    //remove all inputs with class name "test" inside of the form object above.
    form.find("input.test").remove();

    //This loop will put all the input name/value pair into inputValues object
    form.find("input.test").each(function(){
       inputValue[$(this).attr("name")] = $(this).val();
    });

    //This will give you the first input element
    form.find("input.test:first");

});

答案 2 :(得分:0)

 var form = $(this).closest('form');
form.remove('.class_name');