我将此作为表单的隐藏值:
<input type="hidden" name="times[]" value='{"date" : "April 12, 2012"}' />
<input type="hidden" name="times[]" value='{"date" : "April 13, 2012"}' />
<input type="hidden" name="times[]" value='{"date" : "April 14, 2012"}' />
使用jquery,如何创建一个链接,点击它可以删除上面隐藏的表单字段?所以说我点击一个链接,我希望点击删除上面的第二个隐藏表单字段,我该怎么做?
答案 0 :(得分:2)
创建 -
var $ip = $('<input>').attr({
type: 'hidden',
id: 'yourid',
name: 'yourname',
value: 'yourvalue'
})
$(ip).appendTo('body');
然后删除 - 您可以在任何点击事件中添加此内容。
$ip.remove();
要删除所有隐藏字段,请尝试此操作。您可以在任何点击事件中添加此内容。
$("input[type='hidden']").remove();
答案 1 :(得分:1)
这是一个通用函数,可用于删除与json编码值匹配的元素。
使用removeByJsonValue(':hidden',{date:"April 13, 2012"});
removeByJsonValue(selector, data) { // data = {key:value, ...}
$(selector).each(function(element) {
var element_data = $.parseJSON($(element).val());
var remove = true;
$(data).each(function(key,value) {
if (element_data[key] != value) {
remove = false;
}
});
if (remove) {
$(element).remove();
}
}
}
答案 2 :(得分:0)
假设您只有三个隐藏字段并且按照确切的顺序,您可以执行
$('input[type=hidden]:eq(1)').remove();
eq
文档http://api.jquery.com/eq-selector/
remove()
文档http://api.jquery.com/remove/
答案 3 :(得分:0)
如果您有如下链接:
<a href="#" id="remove">remove hidden</a>
您的jquery代码将是
$("#remove").on("click", function(e){
e.preventDefault();
console.log($("input[name='times[]']").eq(1).val());
$("input[name='times[]']").eq(1).remove();
});
链接到jsfiddle http://jsfiddle.net/LUtSp/