JQuery在运行时从Checkbox中检索id

时间:2013-01-20 12:22:32

标签: javascript jquery

我的问题是,我想在运行时检索复选框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被读作Object而不是id,因此总是输入else条件并返回0.当我直接输入复选框id时,此代码有效。

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

它应该不是那么复杂,我一直在使用Javascript但是JQuery的新手。

4 个答案:

答案 0 :(得分:3)

您正确获取ID,但jQuery选择器需要#符号,与CSS选择器的方式非常相似。您需要将#字符添加到选择器:

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

答案 1 :(得分: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) {

答案 2 :(得分:1)

简单地:

return  (($('#' + myCheckbox).is(':checked')) ^ false);

答案 3 :(得分:0)

您是否尝试过使用:

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