2

私の問題は、実行時にチェックボックス ID を取得し、後で他の目的に使用したいということです。ただし、取得した id はオブジェクトとして読み込まれます。

私のコードは次のとおりです。

 // Following code gives id of checkbox which contains myCheckbox as its id.

   var myCheckbox= $('input[id$=myCheckbox]')[0].id;

 //  and Now I want to check if that checkbox is checked with following code:


  if ($(myCheckbox).is(':checked')) 
    return 1;
  else 
    return 0;

しかし、ここで myCheckbox id は id ではなく Object として読み取られるため、常に else 条件に入力して 0 を返します。このコードは、チェックボックスの id を直接入力すると機能します。

if ($('#ctl001_myCheckbox').is(':checked')) 
        return 1;
      else 
        return 0;

それほど複雑ではないはずです。私は Javascript を使用してきましたが、JQuery は初めてです。

4

4 に答える 4

3

ID を正しく取得していますが#、CSS セレクターと同様に、jQuery セレクターにはシンボルが必要です。#セレクターにキャラクターを追加する必要があります。

if ($('#'+myCheckbox).is(':checked')) 
    return 1;
  else 
    return 0;
于 2013-01-20T12:24:44.943 に答える
2

BenM は正しいのですが、なぜ要素の ID を取得してからもう一度調べるのですか? 要素はすでに見つかっています。再度検索する必要はありません。

要素への参照を保持するだけです:

var myCheckbox = $('input[id$=myCheckbox]').first();
// or var myCheckbox = $('input[id$=myCheckbox]')[0];

// and later 

if (myCheckbox.is(':checked')) { 
// or if (myCheckbox.checked) {
于 2013-01-20T12:43:20.737 に答える
1

単に:

return  (($('#' + myCheckbox).is(':checked')) ^ false);
于 2013-01-20T12:44:53.593 に答える
0

使用してみましたか:

var myCheckbox= $('input[id$=myCheckbox]').attr('id');
于 2013-01-20T12:24:21.153 に答える