0

新的 Jquery 当复选框被选中时,我正在向 div 控件插入文本。我想在取消选中“复选框”时删除该文本

<div align="center" id="chkBoxes">
  <asp:CheckBox ID="chbIceCream" text ="Ice Cream" runat="server"></asp:CheckBox>
  <asp:CheckBox ID="chbCake" Text ="Cake" ClientIDMode="static" runat="server" />
  <asp:CheckBox ID="chbChocolet" Text ="Cho colet"  runat="server" />    
 </div>
 <div id="ContentDiv"> 
</div>

jQuery代码:

     $(document).ready(function () {
       $('#chbIceCream').click(function () {
         var Text = $("input:checkbox[id$=chbIceCream]").next().text();
         if ($(this).attr('checked'))
             $('#ContentDiv').append(Text);
         else
            $('#ContentDiv').remove(Text);
      });
  });
4

2 回答 2

1

尝试使用文本函数

$(document).ready(function () {
  $('#chbIceCream').click(function () {

    var Text = $(this).val();
    if ($(this).attr('checked'))
        $('#ContentDiv').text(Text);
    else
       var oldText= $('#ContentDiv').text();
           $('#ContentDiv').text(oldText.replace(Text, ""));
  });
});

编辑:根据有问题的评论更新答案从 $(this).next().text()更新$(this).val( )

于 2012-12-26T09:16:44.963 回答
1

如果您想从 ContentDiv 中删除所有文本,请参阅 Matthew 的回答

如果您想删除特定文本,即该 div 中还有其他文本,您不想删除。然后使用:

var str = $('#ContentDiv').text()
str.replace('your text','');
$('#ContentDiv').text(str);

在你的else部分

于 2012-12-26T09:22:39.340 回答