2012-07-06 92 views
1

我有兩個無線電組。我希望提出一個條件,如果pRange被檢查(val = pRange)並且periodType值是'one','two'或'three',它會顯示一個div調用消息。但我下面的js代碼似乎不起作用。任何幫助深表感謝。條件,如果兩個複選框檢查不工作在jquery

$("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'); 
     } 
}); 

GROUP 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" /> 

GROUP 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> 

回答

1

颳起了快速的小提琴jsfiddle

收音機值書寫VAL = 「」 不是價值= 「」不知道這只是爲了測試還是在實際的代碼中。

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/