我的JSP中有以下代码:
<div class="fieldset_medium_right">
<div class="checkSoc">
<s:checkbox name="soc" cssClass="delete" />
</div>
<div class="checkEnt">
<s:checkbox name="ent" cssClass="delete" />
</div>
<div class="CheckUnit">
<s:checkbox name="ua" cssClass="delete" />
</div>
</div>
现在,当我检查&#34; soc&#34;然后&#34; ent&#34;和&#34; ua&#34;也被检查,并且不活动。 当我取消选中&#34; soc&#34;时,那么&#34; ent&#34;和&#34; ua&#34;也变得不受控制,并且活跃。
这是我的代码:
$("#soc").on('change', function() {
var ent = $('input[name=ent]');
var ua = $('input[name=ua]');
if ($(this).attr('checked')) {
ent.attr('checked',true);
ent.attr('disabled', true);
ua.attr('checked',true);
ua.attr('disabled', true);
} else {
ent.attr('disabled',false);
ent.attr('checked',false);
ua.attr('disabled',false);
ua.attr('checked',false);
}
});
哪个不起作用,但我无法弄清楚如何使它好起来(这里是Jquery的初学者)。
我试图从我改编的代码中激发灵感:
编辑:以下代码工作正常,它做我想要的。但是我不知道如何适应我自己的情况(即上面的代码)因为我没有类属性,所以我想使用id并且还有一些变量使它看起来更好。希望这更清楚。
<div class="elements">
<div class="class3">
<input class="class1" type="checkbox" value="1" name="first" id="first" />
</div>
<div class="class3">
<input class="class2" type="checkbox" value="1" name="second" id="second" />
</div>
<div class="class3">
<input class="class4" type="checkbox" value="1" name="third" id="third" />
</div>
</div>
$('input:checkbox.class1').live('change', function () {
//if the 2nd checkbox is always class2:
var two = $(this).parents('.elements').first().find('input:checkbox.class2');
var three = $(this).parents('.elements').first().find('input:checkbox.class4');
if ($(this).attr('checked')) {
two.attr('checked',true);
two.attr('disabled', true);
three.attr('checked',true);
three.attr('disabled', true);
} else {
two.attr('disabled',false);
two.attr('checked',false);
three.attr('disabled',false);
three.attr('checked',false);
}
});
但是使用Struts似乎没有<s:checkbox>
的属性类,所以我不知道如何继续。有什么想法吗?
提前谢谢!
答案 0 :(得分:0)
#id
选择器,但该元素没有ID; 'selector[name="objName"]'
; attr('checked')
不起作用,您可以在jQuery demo中看到;使用prop('checked')
或is('checked')
所有的东西都可以缩短
$('input[name="soc"]').on('change', function () {
$('input[name="ent"],input[name="ua"]')
.prop('disabled',this.checked)
.prop('checked' ,this.checked);
});