2011-11-19 62 views
3

我是javascript和jquery的新手,请耐心等待。如何使用jquery创建和删除html隐藏字段?

的一切都在这里首先是我的代码,这样就可以进行测试,看看什么错:http://jsfiddle.net/Lzw4e/1/

我想创建一个新的隐藏字段中每个用户从左边<select>元素选择时间和删除/销毁隐藏字段,当用户点击右侧的<select>元素时。

我使用jquery命令$("<input type='hidden' value=selectedAddFootballPlayerId>");但是当我检查了萤火虫,我看不到任何隐藏的字段被创建。为了清除隐藏的领域,我真的不知道。

请帮帮我。提前致谢。

+0

仅仅创建元素是不够的,您必须将它放置在页面的某个位置。 – JJJ

+0

所以你的意思是我真的必须至少创造一个隐藏的领域?我想要发生的是,每当用户添加一名足球运动员时,将创建一个隐藏值来保存所选足球运动员的值。 – NinjaBoy

回答

2

你必须要追加领域:

$("<input type='hidden' value=selectedAddFootballPlayerId>").appendTo('#someSelector'); 
+0

如果选择器是div,它可以吗? – NinjaBoy

+0

jQuery在追加时不介意任何html有效性,它只会这样做。所以不要紧,如果它是一个div或选择或其他:) – Sgoettschkes

5

为此,您可以使用.append()

$("body").append("<input type='hidden' value=selectedAddFootballPlayerId>"); 

对于拆卸,请使用.remove()

$("input[type='hidden']").remove(); 

使用我的示例时要小心,因为它会删除所有隐藏的表单元素。如果你想要更多的精确预测,你可以给隐藏的输入赋值id,然后在第二个例子中将它作为选择器。

5

创建 -

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

然后删除 -

$ip.remove(); 
1

工作版本

http://jsfiddle.net/Lzw4e/7/

变化

$("<input type='hidden' value=selectedAddFootballPlayerId>"); 
to 
$('body').append("<input type='hidden' value=\""+selectedAddFootballPlayerId+"\">"); 
$('#listboxFootballPlayers').append(option); 
to 
$('#listboxFootballPlayers').append(option); 
$('input[type="hidden"][value="'+selectedRemoveFootballPlayerId+'"]').remove(); 
+0

谢谢,但我已经选择。无论如何,再次感谢。 – NinjaBoy

+0

没问题,如果你需要使用数组''player'或'player []'来处理那些信息,那么不要忘记添加一个输入的名字 –