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

これについてすぐに助けが必要なので、どんな助けも大歓迎です!前もって感謝します

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

2 に答える 2

0

JQUERY を使用していると仮定して、strng が 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 に答える