使用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方法中获取第一个元素(因为它可以返回多个元素)?
答案 0 :(得分:2)
这应该做到
$(form).find('input.test').remove(); //remove all elements
跟进:
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');