私はあなたが項目を行うことができますこのWebアプリケーションがあります。私が望むのは、チェックボックスをオンにすると、テキストフィールドがストロークされるということです。変更ボタンストライクバブルjavascript
[追加]ボタンを押すと、JavaScriptで新しい項目が作成されます。ここでチェックボックス(呼び出されたボタン)を押すと、テキストフィールドがストロークされます。どうすればこれを達成できますか?
ありがとうございます!
これは私のhtmlの一部であり、todoが来ています。
<div class="items">
<h3>Items</h3>
<div id="itemList">
</div>
<button id="addItem" >Add Item</button>
</div>
これは新しいアイテム
function item(content, list) {
/* Global attributes */
this.content = content;
this.checked = false;
this.id = 0;
this.settings = new Settings();
this.element = $("<div>");
/* Local attributes */
var button = $("<input type='checkbox' Class='inputCheck'>");
button.appendTo(this.element);
var text = $("<input type='text'>");
text.appendTo(this.element); text.val(content);
var edit = $('<button>Edit</button>');
edit.appendTo(this.element);
var deleteButton = $('<input type=\'image\' src=\'Images/trash.png\' height=\'20\' width=\'20\'>');
deleteButton.appendTo(this.element);
var thisObject = this;
/* Appending item */
list.addItem(this);
text.attr("disabled", true);
}
(編集)
のコンストラクタの私の一種である私は、追加のTODO項目ボタンを押したときに、この関数が呼び出されます。
$("#addItem").click(function(event){
var newItem = new item("Default message", listSelected);
});
このメソッドが呼び出されると、現在のオブジェクト(thisObjectという)のチェックボックスが反対に変更されます。ここでは、CSS text-decoration: line-through;
を使用し、また、テキストが取り消し
button.click(function() {
thisObject.checked = button.is(":checked");
//thisObject.text => strike
});
少なくともためのコードを置きます –
これは無関係なコードブロックのように見えます。それらの間の接続は完全に欠落しています。これらの未定義の関数とオブジェクトは何ですか?なぜあなたのHTMLに 'select'を含めるのですか?これは明らかにその質問とは関係がありません。 – trincot