0

我正在使用以下代码根据下拉列表中的用户输入动态创建一组复选框。当用户从下拉列表中选择另一个选项时,它不会删除先前的选择。

它只删除复选框,但不删除附加到复选框的描述。我无法找到代码的错误。感谢你的帮助。

 $(document).ready(function() {

    $('#sel_LearnA').change(function(event) {  

    var $learnA=$("select#sel_LearnA").val();

$.get('actionDataSelect',{LAreaID:$learnA},function(responseJson) {   

    // remove existing checkboxes
    $('#somediv').children().remove();

    // add checkboxes to the div
    $.each(responseJson, function(index, item) { // Iterate over the JSON array.
        $('#somediv').append("<input type='checkbox' value='"+ item.keyCode + "' />" + item.keyCode + "</br>");
    });
});

    });

});          

我的jsp看起来像,

<div id="somediv"></div>
4

3 回答 3

0

这不是您的代码中的错误。

说明未附加到复选框。

$('#somediv').append("<input type='checkbox' value='"+ item.keyCode + "' />" + item.keyCode + "</br>");

您正在关闭复选框,然后给出说明。所以 .remove 将删除复选框,而不是描述。

将复选框和描述放在标签内并删除标签。

这肯定会奏效。

$('#somediv').append("<label><input type='checkbox' value='"+ item.keyCode + "' />" + item.keyCode + "</label></br>");
于 2013-11-27T10:11:39.590 回答
0

.children()只获取父节点的元素节点,而不是文本节点

尝试空()

$('#somediv').empty();

或者只是 .html('')

$('#somediv').html('');
于 2013-10-13T06:04:14.587 回答
0

空函数重置 div。

$( "#yourDivId" ).empty();
于 2013-10-13T06:07:26.947 回答