如果选中相应的单选按钮,我有以下代码将元素附加到文档。这工作正常,但如果未选中单选按钮,我需要一种方法来删除元素。
到目前为止,这是我的目标?
// for each radio button
$('input[type=radio]').each(function(){
// if it is checked
if($(this).is(":checked"))
{
var cur = $(this).val();
// append an input text element only if it does not already exist
if(!$('#characterList input:text').is(function(i,e){ return e.value==cur && e.name=='data['+cur+']'; }))
{
$('#characterList').append('<input type="text" name="data[' + $(this).val() + ']" value="' + $(this).val() + '" />');
}
}
else
{
// otherwise remove element if radio button not checked
$('#characterList').remove('<input type="text" name="data[' + $(this).val() + ']" value="' + $(this).val() + '" />');
}
});
});
.remove(...)
什么都不做。我在这里做错了什么?
答案 0 :(得分:4)
remove()
不起作用。您必须提供一个选择器来选择要删除的元素。这可以这样做:
$('#characterList').remove('input[value="' + $(this).val() + '"]');
或者,或者:
$('#characterList').find('input[value="' + $(this).val() + '"]').remove();
此外,您可以简单地使用:
,而不是使用$(this).is(":checked")
和$(this).val()
if ( this.checked )
和
var cur = this.value;