我实现了以下jQuery代码:
var $morning = $(".radiobox .bba, .radiobox .mba");
var $evening = $(".radiobox .mba");
$('.radiobox input.morneve').change(function(){
if ($(".radiobox input[value='Morning']").is(':checked')) {
$($morning).attr("enabled");
}
if (!$(".radiobox input[value='Morning']").is(':checked')) {
$($morning).attr("disabled");
}
if ($(".radiobox input[value='Evening']").is(':checked')) {
$($evening).attr("enabled");
}
if (!$(".radiobox input[value='Evening']").is(':checked')) {
$($evening).attr("disabled");
}
});
这是HTML:
<div class="radiobox">
<input type="radio" name="morneve" class="morneve" value="Morning">
</div>
<div class="radiobox">
<input type="radio" name="morneve" class="morneve" value="Evening">
</div>
<hr />
<div class="radiobox">
<input type="radio" name="degreq" class="degreg bba" value="bba">
</div>
<div class="radiobox">
<input type="radio" name="degreq" class="degreg mba" value="mba">
</div>
我要做的是,如果选中输入Morning,则应启用$ morning。如果选择输入Evening,则应禁用$ morning并启用$ evening。
一切正常,除了重叠的类.mba
当我检查早晨时,我看到早上启用了。当我检查晚上时,只启用.mba。但如果我点击早上,.mba也会被禁用。
我花了好几个小时研究这个,我确定我错过了一些东西......非常感谢任何帮助。
谢谢!
答案 0 :(得分:1)
没有名为enabled
// Basically this Morning and Evening are times for when classes are offered. MBA option is offered in both
$(function() {
var $bba = $(".radiobox .bba");
var $mba = $(".radiobox .mba");
$('.radiobox input.morneve').click(function(){
$($bba).prop("disabled",$(".radiobox input[value='Evening']").is(':checked'));
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="radiobox">
<label><input type="radio" name="morneve" class="morneve" value="Morning">Morning</label>
</div>
<div class="radiobox">
<label><input type="radio" name="morneve" class="morneve" value="Evening">Evening</label>
</div>
<hr />
<div class="radiobox">
<label><input type="radio" name="degreq" class="degreg bba" value="bba">BBA</label>
</div>
<div class="radiobox">
<label><input type="radio" name="degreq" class="degreg mba" value="mba">MBA</label>
</div>
答案 1 :(得分:1)
我使用以下代码解决了这个问题:
$('.radiobox input.morneve').change(function(){
if ($(".radiobox input[value='Morning']").is(':checked')) {
$(".degreg").attr("disabled", true);
$($morning).removeAttr("disabled");
$($evening).prop('checked', false);
}
if ($(".radiobox input[value='Evening']").is(':checked')) {
$(".degreg").attr("disabled", true);
$($evening).removeAttr("disabled");
$($morning).prop('checked', false);
}
});
它正在做的是首先使用类.degreg禁用所有输入,然后从$ morning / $ evening中删除disabled属性。工作得很好,我想我会把它贴在这里,这样可以帮助别人。
感谢所有贡献的人!