2010-12-18 22 views
0

入力テキストフィールドとチェックボックスをクリックして追加します。 しかし、チェックボックスをオンにすると、私は入力テキストフィールドにClassをトグルします。 これは私の作成コードです:jQueryを使用してチェックボックスにtoggleClassを追加するにはどうすればよいですか?

jQuery(function() { 
var counter = 0; 

$('#appendbtn').click(function() { 
    var elems = '<div>' + '<input type="checkbox" id="checkbox"' + (counter) + '" class="item"/>' + '<input type="text" id="inputfield"' + (counter) + '"/>' + '</div>'; 
    $('#box').append(elems); 
    counter++; 
    return false; 
}); 

これはどうなるでしょうか。この勿論

if ($("#checkbox").is(":checked")) 
{ 
$("inputfield" + counter).toggleClass("complete") 
}); 

正しいではありませんが、私はあなたが私が何を意味するかを取得願っています;) は、if文なしで可能な方法で、このですか?ここ

はjsfiddle http://www.jsfiddle.net/gkdKY/

はOHであり、これは私がhttp://www.jsfiddle.net/xzmcL/ なく、添付のチェックボックスにしたい正確に何であります!

+1

あなた 'elems'-文字列が正しくありません' '<入力されたID = "チェックボックス"' +(カウンタ)+ "」は、' '<入力となってしまいますid = "チェックボックス" 1 "'同じことがあなたのテキストフィールドに適用されます。 – Andreas

答えて

1

このライン:

var elems = '<div>' + '<input type="checkbox" id="checkbox"' + (counter) + '" class="item"/>' + '<input type="text" id="inputfield"' + (counter) + '"/>' + '</div>'; 

... 2つの余分な引用符を持っています。

var elems = '<div>' + '<input type="checkbox" id="checkbox' + (counter) + '" class="item"/>' + '<input type="text" id="inputfield' + (counter) + '"/>' + '</div>'; 

これにより、clickイベントのセレクタが壊れます。しかし、あなたは 'click me'リンクが押されるまで存在しない要素をフックしようとしているので、それはとにかく動作しませんので、.live()または.delegate()を使用する必要があります。

このような何かがうまくいくかもしれない:

$("#drag").delegate("input[type=checkbox]", "change", function(){ 
    var index = this.id.substring(8); 
    $("#inputfield" + index).toggleClass("complete"); 
}); 
+0

sje397ありがとう、それはなぜ私は部分文字列(8)を聞いても動作するようですか? :) – Opoe

+0

@Opoe: 'substring(8)'は最初の8文字を削除して 'checkbox13'のようなidを' 13'に変換します。 – sje397

+0

@Opoe:私はちょうど小さな編集をしました( 'complete'の先頭から '。'を取り除いたもの) - oops。 – sje397

0

あなたが欲しい:

$('input:checkbox').click(function(){ 
    $('#inputfield').toggleClass('bold'); 
}); 

私は動的に真の状態をチェックし、あなたのチェックボックスを設定していないと仮定しています。

+0

ありがとう、ありがとう、そのonclick :)それはまだボールドクラスに追加またはトグルをしません – Opoe

+1

私はjQueryの部分を修正することができますいくつかのHTMLを投稿することはできますか? –

+0

ofcourse OPの中にありがとう – Opoe

関連する問題