隐藏函数 other 中的复选框,并禁用所有元素以禁用复选框
hide a checkbox in function another and disabled all elements to the checkbox disabled
<script type="text/javascript">
function CheckBox(checkerbox, div) {
if (checkerbox.checked) {
document.getElementById(div, Urbanoo).style.display = "block"
} else {
document.getElementById(div, Rurall).style.display = "none"
$("#Rurall").find("*").prop("disabled", true);
}
}
function CheckBox1(checkerbox1, div) {
if (checkerbox1.checked) {
document.getElementById(div, Rurall).style.display = "block"
} else {
document.getElementById(div, Urbanoo).style.display = "none"
$("#Urbanoo").find("*").prop("disabled", true);
}
}
</script>
如何在功能另一个中隐藏复选框并禁用所有元素以禁用复选框?
<input name="Rural" type="checkbox" onclick="CheckBox1(this,'Rurall');" />
<input name="Urbano" type="checkbox" onclick="CheckBox(this,'Urbanoo');" /> Urbanoo </center>
<div id="Urbanoo" style="display:none" >
<g:render template="../DomUrbano/form"/>
</div>
问题是当我打开一个复选框而不是另一个框时,没有禁用
<div id="Rurall" style="display:none">
</br>
<g:render template="../DomRural/form"/>
</div>
我想
我明白你在尝试什么,但坦率地说,它不太清楚。
所以我认为你想要的是;
- 如果我选中一个复选框,则隐藏其他复选框
- 如果我取消选中一个框,请再次显示另一个框
- 如果我选中一个框,则显示"合作伙伴"区域
- 如果我选中一个框,则禁用其他非合作伙伴区域输入
使其更容易,并添加了一些额外的标记以清楚地显示正在发生的事情。 我还在输入中添加了一个合作伙伴的数据元素,这样我们就可以使这一切变得更简单,并且只有一个功能;现在通过事件处理程序调用,而不是使用标记中的内联代码调用。
修订后的标记:
<span class="myinputs"><input class="mycheck" name="Rural" type="checkbox" data-partner="#Rurall" /> Rurall</span>
<span class="myinputs"><input class="mycheck" name="Urbano" type="checkbox" data-partner="#Urbanoo" /> Urbanoo</span>
<div id="Urbanoo" class="hidden others">the Urbannoo
<g:render template="../DomUrbano/form" />
<input type="textbox"/>
</div>
<div id="Rurall" class="hidden others">the Rurall
<g:render template="../DomRural/form" />
<input type="textbox"/>
</div>
法典:
$('.mycheck').on('change', function() {
var amIChecked = $(this)[0].checked;
$(this).parent().siblings('.myinputs').toggle(!amIChecked);
var pt = $(this).data('partner');// get the partner selector
$(pt).toggle(amIChecked);// show the partner in the others list
//do the enable in the partner
$('.others').filter(pt).toggle(amIChecked).find("*").prop("disabled", !amIChecked);
//do the disable in the othes list not the partner
$('.others').not(pt).find("*").prop("disabled", amIChecked);
});
在这里玩一玩:https://jsfiddle.net/MarkSchultheiss/cLyb103x/1/
相关文章:
- Firefox:点击并更改未附加到文档树中的复选框元素上的事件
- 如何获取字段集元素中复选框的所有ID
- 启用具有不同元素的复选框
- 验证元素值和复选框的Javascript
- 如何使用复选框启用多个元素
- 如何在呈现页面后使用 Java 脚本检测 dom 元素值的值是否有任何变化(例如,任何输入或复选框值更改)
- 我无法检查输入复选框元素
- 根据MVC列表框和复选框的值更改标记元素
- 复选框元素在未选中时从serialize()中消失
- 不能在复选框旁边显示元素
- 显示两个复选框元素的标题之间的数学差异
- when是添加到DOM的复选框元素的checked属性
- 按字母顺序对输入/复选框元素进行排序
- 在jquery中附加复选框元素后单击不工作
- Jquery复选框元素类点击
- 显示HTML页面中具有相同id的所有复选框元素
- 使用JQuery访问表单中的复选框元素
- 获取循环复选框元素的id
- 选择/取消选择所有复选框元素AngularJS
- 如何在图像的onclick事件上从追加元素中删除复选框元素后取消选中