2017-03-28 8 views
0

私はidのチェックボックスを取得しようとしています。 idのようなページにいくつかのチェックボックスがあります:channel_left_restream_ids_42channel_left_restream_ids_44などです。チェックされているものの1つがチェックされ、チェックされたときにイベントを処理する必要があります。このようなコード<input type="checkbox" value="42" checked="checked" name="channel[left_restream_ids][]" id="channel_left_restream_ids_42">とcoffescriptとチェックボックスのためにそうJQueryのチェックボックスIDを取得

$("input[id*=channel_left_restream_ids]").change (e) => 
    alert($(this).attr("id")) 

私はそれが仕事を得ることができません。それはundefinedと言います。私は多くの選択肢を試しましたが、どれもうまくいきませんでした。私はどこでミスをしていますか?

この特定のチェックボックスにチェックするかしないことを、あなたが使用する必要があるかどうかを知るために:私はあなたの質問の権利を理解しています願って、私はこれが正しい方向にあなたをプッシュするかもしれません願っています

JSFiddle is here

答えて

0

予期しないことに、問題はjQueryやsmthのようなものではありませんでした。 これは単に私のコーヒーの大胆な配列の問題でした。 $("input[id*=channel_left_restream_ids]").change (e) =>$("input[id*=channel_left_restream_ids]").change (e) ->に置き換えてください(違いは、行末の配列とのみ違いです)。

-1

その正確なID。

だから、あなたのスクリプトの中で、あなたは、このIDを探しています: ID * = channel_left_restream_ids

が、チェックボックスのidが「channel_left_restream_ids_42」である

私はあなたが作業しているコードを知りませんしかし、多くの "channel_left_restream_ids"が存在する可能性があります。あるいは、idがチェックボックス以外のものに使用されている可能性があります。

だから、これは試してみる価値があるだろう:あなたのjfiddleで [ID * = channel_left_restream_ids_42]

+0

はい、 'restream_ids 'の後には数字の違うチェックボックスがたくさんあります。事は、私はこのイベントがどれかを変更する際にトリガされる必要があるということです。しかし、私の質問にはJSFiddleのリンクがあります。セレクタに何も変更を加えずに "_42"を追加すると、それを見ることができます。それでも、 – Ngoral

0

私は、各チェックボックスにのgetIdのクラス名を与え、このコードを使用していました。

これは正しい方向にあなたを得るはずです。

jQuery(".getId").each(function(){ 
    jQuery(this).on("change", function(){ 
     var ids = jQuery(this).attr("id"); 
     console.log(ids); 
    }); 
    }); 

チェックボックスの名前がす​​べて同じ場合は、それも使用できます。

関連する問題