对象...没有方法'追加' - 需要快速帮助

时间:2012-08-24 12:32:25

标签: javascript jquery

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

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 }));

我很快就需要帮助,所以任何帮助都将非常感谢! 提前致谢

------- EDIT ---------- 这是整个函数,所以它更容易理解,我是编程的新手,可能会非常混乱和无关紧要。

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);

2 个答案:

答案 0 :(得分:0)

假设您正在使用JQUERY

,请确保string是JQUERY对象

答案 1 :(得分: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);
});

Here's a working example关于jsFiddle。

参考文献: