1

我将此作为表单的隐藏值:

<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,我如何创建一个链接,单击它可以删除上面的隐藏表单字段?所以说我点击一个链接,我希望点击删除上面的第二个隐藏表单字段,我该怎么做?

4

4 回答 4

2

创造 -

   var $ip = $('<input>').attr({
    type: 'hidden',
    id: 'yourid',
    name: 'yourname',
   value: 'yourvalue' 
})
$(ip).appendTo('body');

然后删除 - 您可以在任何点击事件中添加它..

$ip.remove();

要删除所有隐藏字段,试试这个。您可以在任何点击事件中添加它..

$("input[type='hidden']").remove();
于 2012-04-16T02:33:22.727 回答
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();
        }
    }
}
于 2012-04-16T02:37:14.950 回答
0

假设您只有三个隐藏字段并且按照确切的顺序,您可以

$('input[type=hidden]:eq(1)').remove();

http://jsfiddle.net/vGLSd/

eq文档http://api.jquery.com/eq-selector/

remove()文档http://api.jquery.com/remove/

于 2012-04-16T02:30:05.033 回答
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/

于 2012-04-16T02:33:59.413 回答