4

チェックボックスをdivに追加して(id = "#sensorList"を使用)、いくつかのイベントハンドラーをそれにバインドしたいと思います。私はこのようにします

/* Add div */
$("#sensorList").append($('<div>', { id : sensorId})
.addClass("sensorListItem")
.text(sensorId)
);

/* Adds visibile checkbox */
$("#"+sensorId).append($('<input>', { id : sensorId + "VisibleCheckbox", type:"checkbox", name: sensorId + "VisibleCheckbox"}));

正常に動作しているようですが、チェックボックスをクリックしてもチェック状態に切り替わりません!

何か案が?前もって感謝します。


申し訳ありませんが、問題がどこにあるのかわかりました。divにsensorIdというクリックハンドラーがあるため、チェックボックスがオンになっているのを確認できませんでした。愚かなことに、event.preventDefault()を実行しました(divをクリックするデフォルトの動作はありません!!!)

4

2 に答える 2

3

ロングハンドを試してみて、それが機能するかどうかを確認してください...

$("#"+sensorId).append('<input type="checkbox" id="' + sensorId + 'VisibleCheckbox" name="'  + sensorId + 'VisibleCheckbox" >');
于 2012-10-23T17:34:33.887 に答える
2

わたしにはできる。jsfiddleをチェックしてください:http://jsfiddle.net/pVjNM/

var sensorId = "one";

/* Add div */
$("#sensorList").append($('<div>', { id : sensorId })
.addClass("sensorListItem")
.text(sensorId)
);

/* Adds visibile checkbox */
$("#"+sensorId).append($('<input>', { id : sensorId + "VisibleCheckbox", type:"checkbox", name: sensorId + "VisibleCheckbox"}));

$("input[type=checkbox]").each(function(){
    this.click();
    console.log("Should be true:", this.checked);
});


$("input[type=checkbox]").each(function(){
    this.click();
    console.log("Should be false:", this.checked);
});​
于 2012-10-23T17:41:04.290 に答える