如何在选中复选框而不刷新页面时禁用select元素
亲爱的朋友们,这是我在这个论坛上的帖子,我希望得到最大的回复. 当用户检查复选框选择元素时,应禁用选择元素,并且whehn用户取消选中,它应该再次启用,而无需使用JavaScript刷新页面...... 任何帮助将不胜感激……
# 回答1
:toggleselect();" value =" 1" /> 在JavaScript中 : 函数toggleselect() { 如果document.getElementById(" CHK1").值== 1 { document.getElementById(" select").禁用= true; } 别的 { document.getElementById(" select").禁用= false; } } 请确保给所有标签提供ID. 否则,代码可能不起作用.
# 回答2
dswethar谢谢您的答复.我尝试了它,但似乎没有用,我将此代码放在HTML文档中尝试..请检查一下,让我知道我在这里做错了什么
选择 | 换行 | 行号
- <script type="text/javascript">
- function toggleSelect()
- {
- if document.getElementById("chk1").value == 1
- {
- document.getElementById("select").disabled = true;
- }
- else
- {
- document.getElementById("select").disabled = false;
- }
- }
- </script><html>
- <body>
- <input type="checkbox" id="chk1" name="chk1" onchange="javascript :toggleSelect();" value="1" />
- <select id="chk1" name="select">
- <option value="value1">option 1</option>
- <option value="value2">option 2</option>
- <option value="value3">option 4</option>
- </select></body>
- </html>
# 回答3
你好, 有一个ID问题 - 选择未命名. 这是工作脚本. 函数toggleselect() { if(document.getElementById(" chk1").检查== true) { document.frm1.select1.disabled = true; } 别的 { document.getElementById(" select1").禁用= false; } } - > :toggleselect();" value =" 1" /> 选项1 选项2 选项4
# 回答4
谢谢Agian亲爱的朋友的出色工作,很抱歉再次分散您...但是我的目标尚未实现,我的表格有两个选择,我希望每当检查复选框时,都应禁用两个选择.我尝试了. 其他具有相同ID的选择.但是甚至没有一个选择禁用. 很快,我想要的是应该有1个复选框,每当检查复选框时,两个选择都应被禁用.
# 回答5
你好, 您应该有另一个具有不同名称的选择框. 在JavaScript中,您需要在IF和其他条件中添加另一个语句,这些条件具有第二个选择框名称. 例如: document.frm1.select1.disabled = true; 只需添加另一行 document.frm1.select2.disabled = true; 对于Else语句也一样. 希望这可以帮助.
# 回答6
感谢您的共同生产,但我的问题得到了解决. 我在网上找到了这个脚本
选择 | 换行 | 行号
- <script Language="JavaScript">
- var _T = "locked";
- var _F = "unlocked";
- function lockIt(_P)
- {
- var _L =
- document.aform.lck.value;
- if(_L==_P)return;
- document.aform.sub_cat.disabled=(document.aform.lck.value=(_L==_F)?_T:_F)==_T;
- document.aform.main_cat.disabled=(document.aform.lck.value=(_L==_F)?_T:_F)==_T;
- }
- function isDis() {
- return (document.aform.lck.value==_T);
- }
- </script>
- <form Name="aform" ID="aform" Action="" Method="post">
- Sub Category : <select name="sub_cat" ID="sub_cat" onfocus="if(isDis())blur();">
- <option value="0" selected>Business</option>
- <option value="1">Graphics</option>
- <option value="2">Home & Hobby</option>
- <option value="3">Utilities</option>
- <option value="4">Web utilities</option>
- </select>
- Main Cat <select name="mian_cat" ID="main_cat" onfocus="if(isDis())blur();">
- <option value="0" selected>Business</option>
- <option value="1">Graphics</option>
- <option value="2">Home & Hobby</option>
- <option value="3">Utilities</option>
- <option value="4">Web utilities</option>
- </select
- <br><br>
- save & send : <input type=radio checked onclick="lockIt(_F)" id=radio1 name=radio1 value="1">
- don not save only send :<input type=radio onclick="lockIt(_T)" id=radio1 name=radio1 value="2">
- <input type=hidden name="lck" value="unlocked">
- </form>
这几乎是我的需要 我想要的更改是,它使用两个无线电元素禁用和启用了选择,我只需要一个复选框而不是两个无线电,如果用户检查复选框选项,两个选择都应被禁用,如果取消选中,则应该再次启用它. 不是修改,但如果你能做到.
# 回答7
你好, 我已经按照您想要的方式给了您代码. 我无法理解您给出的完整代码. 我为此感到抱歉. 您现在只需要在JavaScript中添加2个句子即可. 因为您希望将2个选择框禁用 /启用. 请尝试. 我100%确定会 工作.
# 回答8
感谢您的代码. 有用.
标签: Javascript