如果未选中单选按钮,则jQuery删除元素

时间:2015-04-10 13:48:44

标签: javascript jquery html

如果选中相应的单选按钮,我有以下代码将元素附加到文档。这工作正常,但如果未选中单选按钮,我需要一种方法来删除元素。

到目前为止,这是我的目标?

// 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(...)什么都不做。我在这里做错了什么?

1 个答案:

答案 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;