我有两个广播组。我想提出一个条件,如果检查了pRange(val = pRange)并且periodType值是'one','two'或'three',它会显示一个名为message的div。但我下面的js代码似乎不起作用。非常感谢任何帮助。
$("input[name$='periodType']").change(function() {
var grpname = $(this).val();
var pname = $("input:radio[name='mainPeriod']:checked").val();
if (((grpname == "one") || (grpname == "two") || (grpname == "three")) && (pname=="pRange")) {
alert( pname + ' gname= ' + 'yes'); $('.message').show;
}
else {
alert( pname + ' gname= ' + 'no');
}
});
第1组
<input type="radio" name="mainPeriod" id="pRange" val="pRange" />
<input type="radio" name="mainPeriod" id="pHour" val="pHour" />
<input type="radio" name="mainPeriod" id="pDay" val="pDay" />
<input type="radio" name="mainPeriod" id="pWeek" val="pWeek" />
<input type="radio" name="mainPeriod" id="pMonth" val="pMonth" />
第2组
<input type="radio" name="periodType" val="one" />
<input type="radio" name="periodType" val="two" />
<input type="radio" name="periodType" val="three" />
<input type="radio" name="periodType" val="four" />
<input type="radio" name="periodType" val="five" />
<div class="message" style="display:none;">Message</div>
答案 0 :(得分:1)
掀起了一个快速的小提琴jsfiddle
您的无线电值写为val =“”not value =“”不知道这是仅用于测试还是用于实际代码。
答案 1 :(得分:0)
我检查了你的值的控制台
var grpname = $(this).val();
var pname = $("input:radio[name='mainPeriod']:checked").val();
两者都只返回导致问题的开/关。你需要得到的是.attr('val')所以你可以检查值
var grpname = $(this).attr('val');
var pname = $("input:radio[name='mainPeriod']:checked").attr('val');
这是一个小提琴http://jsfiddle.net/B9GyV/