我的问题是,我想在运行时检索复选框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的新手。
答案 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');