2012-08-24 80 views
-3

我目前正在嘗試編寫一個函數,該函數通過勾選複選框來動態地列出項目,雖然我遇到了一個問題,列表項我在控制檯收到以下錯誤信息:對象...沒有方法'append' - 快速實現幫助

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

亞歷克斯,什麼在你的'strng'變量中? –

+1

字符串沒有'.append'方法...你想用'$({type:「text」,id:+ i})做什麼?我從來沒有見過jQuery的這種用法。看起來你完全混合了HTML字符串和jQuery。閱讀一些jQuery教程可能會有幫助:http://docs.jquery.com/Tutorials。 –

+0

這是一個字符串,當選中一個複選框時將添加到列表中:jQuery(「#list」)。html(strng); – AlexSaunders

回答

0

確保strng是一個jQuery對象,假設你使用jQuery

0

如果你正在試圖建立檢查的項目清單,我會去了解這種方式。或者,更好的是,如果您計劃在不同的元素中顯示結果,則可以裁剪數組。

// 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。

參考文獻:

+0

反對的任何理由? – jrummell

+0

當他們不知道它是什麼意思時,給他們代碼絕對毫無意義。 –

+0

@Alex ...這就是爲什麼我的回答很好的評論,並有鏈接到參考。使用這些信息,一個願意學習的缺乏經驗的Web開發人員應該能夠弄明白。 – jrummell