如果启用了ID为“exactage”的复选框,我想使用javascript将属性disabled =“disabled”设置为id为2。有任何想法吗?提前致谢。一个快乐的程序员:)
<select id="age">
<option value="18"><18</option>
</select>
<select id="age2">
<option value="18"><18</option>
</select>
<input type="checkbox" id="exactage"/> Require exact age
答案 0 :(得分:3)
请注意,当我写下这个答案时,我有一个短暂的盲点:我可以发誓我看到了jquery标签。叹。我的错误,现在,不值得修改这个答案,因为其他功能性的简单JS答案已经发布,我无法改进。
但是,我会将此更改为社区维基,暂时将其保留为更多信息。
以下内容适用于您, 如果 您正在使用jQuery(请参阅上面的附录,关于盲点):
$('#exactage').change(
function(){
if ($(this).is(':checked')){
$('#age2').prop('disabled',true);
}
else {
$('#age2').prop('disabled',false);
}
});
在change
复选框的#exactage
事件中,if
会检查$(this)
是否为:checked
。如果是,那么它会设置disabled
元素的#age2
属性,否则会删除/取消设置disabled
属性。
参考文献:
答案 1 :(得分:3)
如果启用,则表示已选中
if(document.getElementById('exactage').checked)
document.getElementById('age2').setAttribute('disabled', 'disabled');
如果您启用了实际意味着已启用,则可以执行以下操作:
if(document.getElementById('exactage').getAttribute('disabled') !== null)
document.getElementById('age2').setAttribute('disabled', 'disabled');
答案 2 :(得分:0)
您可以尝试onclick或onselect(我认为有类似的东西)属性来调用方法 在方法中尝试
document.getElementById('age2').setEnabled(false)
或
document.getElementById('age2').disabled=disabled
沿着那条线的东西..我不记得了:(
答案 3 :(得分:0)
尝试使用以下内容。
if(document.getElementById('exactage').checked)
{
document.getElementById('age2').disabled=true;
}
答案 4 :(得分:0)
首先你需要这些
function changeState(id, state)
{
if(state == 0)
document.getElementById(id).disabled = true;
else
document.getElementById(id).disabled = false;
}
function toggleFields(id, state)
{
var e=document.getElementById(id);
if(!e)return true;
if(state == 1)
{
e.style.display=""
}
else
{
e.style.display="none";
}
return true;
}
其次是
function checkBoxState(check_box_id, field_id, flag)
{
if(document.getElementById(check_box_id).checked)
{
if(flag == 1)
toggleFields(field_id, 1);
else if(flag == 0)
changeState(field_id, 1);
document.getElementById(check_box_id).value = 1;
} else {
if(flag == 1)
toggleFields(field_id, 0);
else if(flag == 0)
changeState(field_id, 0);
document.getElementById(check_box_id).value = 0;
}
}
function reversedCheckBoxState(check_box_id, field_id, flag)
{
if(document.getElementById(check_box_id).checked)
{
if(flag == 1)
toggleFields(field_id, 0);
else
changeState(field_id, 0);
document.getElementById(check_box_id).value = 1;
} else {
if(flag == 1)
toggleFields(field_id, 1);
else
changeState(field_id, 1);
document.getElementById(check_box_id).value = 0;
}
}
现在你所要做的就是运行reverseCheckBoxState(“exactage”,“age2”0) 或者你可以运行reversedCheckBoxState(“exactage”,“age2”1)
享受!