2017-06-04 1 views
-1

私は、次のしている:私の人生のために.prop( "checked"、true)の問題はありますか?

116 $.each(data.entries, function(id, item) { 
117  console.log($("input[type=checkbox][value=" + item + "]").is(":checked")); 
118  $("input[type=checkbox][value=" + item + "]").prop("checked", true); 
119  console.log($("input[type=checkbox][value=" + item + "]").is(":checked")); 
120 }) 

私は私のチェックボックスをチェックすることができません。

swot-nav.js:117 false 
swot-nav.js:119 false 

これはどちらか動作しません:

116 $.each(data.entries, function(id, item) { 
117  console.log($(":checkbox[value=" + item + "]").is(":checked")); 
118  $(":checkbox[value=" + item + "]").prop("checked", "true"); 
119  console.log($(":checkbox[value=" + item + "]").is(":checked")); 
120 }) 

(同じ結果)

どのような欠点がありますか?

編集:

これはAjaxのコールの成功機能で行われています。

これは、データがどのように見えるされています

data = {'label': 'D1- DC Test 1', 'details': '', 'type': 'D', 'entries': [20, 21, 22]

ここでそれが働いているフィドルです:https://jsfiddle.net/e3arwp7q/

私のコードではより深い何か問題があるに違いありません。これが仕事をしなければならないようにみんなに見えるなら、おそらく私は他の場所を見るべきだろう。

+0

第一:あなたは 'にconsole.log(項目)に必要な'とかどうかを確認正しい値を取得し、 'item'の出力が何であるかを知りましょう。この値を持つ入力はありますか? –

+0

私はそれを行い、値はインスペクタの値と一致しています。複数のチェックボックスが同じ値を持つ場合、これは機能しませんか? –

+2

コロン。 '.is()'はセレクタを要求し、[':checked'セレクタ](https://api.jquery.com/checked-selector/)はプレフィックス演算子としてコロンを必要とします。現在、 '.is( 'checked')'は、 ''が ''要素であるかどうかを判断しています。 –

答えて

0

は、[OK]を私はあなたのcheckbox秒をループする必要があると思う。..次のコードは、ちょうどunchecked入力をループは

$.each(data.entries, function(id, item) { 
    $('input[type=checkbox]:not(:checked)').each(function(){ 
     $(this).filter('[value=' + item + ']').prop("checked", true); 
    }); 
}); 

注意します:上記のコードは動作するかどうitemマッチングの1 - 出力checkbox 2- 値あなたは 同じ値を持つ複数のcheckbox

持っている場合次のコードは、すべてのcheckbox入力

$.each(data.entries, function(id, item) { 
    $('input[type=checkbox]').each(function(){ 
     var checked_or_not = this.checked; 
     console.log(checked_or_not); 
     if(checked_or_not === false){ 
     $(this).filter('[value=' + item + ']').prop("checked", true); 
     } 
     console.log(checked_or_not); 
    }); 
}); 
+0

まだ2つのFalsesを得る!ここに何か他のものがなければなりません。 –

+0

@AdamStarrh私のコードで「偽」とは何ですか?私はそれから何も出力しませんでした。あなたは値が –

+0

'console.log($(":checkbox [value = "+ item +"] ")"(チェックされています) ) '(私の例のように)これをプラグインする前後にfalseを返します。なぜそうなるのか分かりません。私はそれをJSFiddleで動作させることができるので、私のインターフェースのどこかに問題があるはずです。おそらく何か干渉しているかもしれない –

0

問題は、間違った引数をisメソッドに渡していることです。代わりに​​を使用してください。

+0

コロンでさえ、依然として誤っていると報告しています –

+0

あなたのオリジナルの質問が少し不明であるため、あなたが達成しようとしていることを親切に説明してください。チェックボックスがオンになっているかどうかチェックしようとしていますか?またはチェックボックスをチェック(チェック)しようとしていますか? –

+0

ええ、ちょうどボックスにチェックを入れようとしています。コンソール出力は、問題を示すためのものでした。 –

0

のために働くだろう、あなたはを使用する必要があります。セレクタをチェックしました。

前にチェック

変更は( "チェックする")であるコロンを追加は( ":チェックする")である

関連する問題