-3

我目前正在尝试编写一个函数,通过勾选复选框动态地将唯一 ID 应用于列表项,尽管我遇到了一个问题,当将唯一 ID 附加到列表项时,我在控制台中收到以下错误消息:

Uncaught TypeError: Object SpTU 4, 183:false<br /> has no method 'append'

这是导致错误的代码:

strng += name+":"+val+"<br />";
var i = 1;
strng.append($({ type: "text", id:+i }));

我需要快速帮助,所以任何帮助将不胜感激!提前致谢

--------编辑--------- 这是整个功能,所以更容易理解,我是新手,可能会非常混乱和不专业。

var dataToShow = {};
function check(tickbox){
  dataToShow[tickbox.value] = tickbox.checked == true;
  showDataOnScreen(dataToShow);


function showDataOnScreen(dataToShow){
var $strng = "";
jQuery.each(dataToShow,function(name,val){
    $strng += name+":"+val+"<br />";
    var i = 1;
    $strng.append($({ type: "text", id:+i }));
    });

jQuery("#list").html(strng);
4

2 回答 2

0

确保 strng 是 JQUERY 对象,假设您使用的是 JQUERY

于 2012-08-24T12:36:34.767 回答
0

如果您正在尝试构建已检查项目的列表,我会这样做。

// create an array to store the checked items
var checkedItems = new Array();

// loop through the checked check boxes contained in the list element
// and add them to the array
$("#list :checked").each(function (){
    var item = { name: $(this).attr("name"), value: $(this).val() };
    checkedItems.push(item);
});

或者,更好的是,如果您打算在不同的元素中显示结果,您可以删除数组。

// loop through the checked check boxes contained in the list element
// and add them to a different element
$("#list :checked").each(function (){
    var item = "<div>"+ $(this).attr("name") + ": " + $(this).val() + "</div>";
    $("#selectedList").append(item);
});

这是关于 jsFiddle的一个工作示例。

参考:

于 2012-08-24T12:52:03.243 回答