我有一个收音机盒。
<td>
<label for="requireDate"><input type="radio" id="date" value="requireDate" name="date" checked="checked"/>START DATE</label>
<label for="finishDate"><input type="radio" id="date" value="finishDate" name="date" />END DATE</label>
</td>
基于此值,单击 SEARCH 按钮时将调用两个不同的Ajax函数。
<script type="text/javascript">
$('#search').click(function() {
if($('#date').val() == 'requireDate'){
CommonUtil.ajaxPagingSubmit('<c:url value="${innovativepot}/A/SubscDtm" />', 1, $('#frm').serialize(), 'content');
} else if ($('#date').val() == 'finishDate') {
CommonUtil.ajaxPagingSubmit('<c:url value="${innovativepot}/A/cpltSubscDt" />', 1, ('#frm').serialize(), 'content');
}
});
</script>
但由于某种原因,它会调出任何一个的第一个函数。 有人可以告诉我这有什么问题吗?
答案 0 :(得分:1)
两者都有相同的ID。按名称选择。
更改为:
if($(':radio[name=date]:checked').val() == 'requireDate'){ ...
干杯
答案 1 :(得分:0)
您为id
和requireDate
提供了相同的finishDate
。 id
应该始终是唯一的。
使用类选择器来获得所需内容:
<input type="radio" id="date" value="requireDate" name="date" checked="checked" class='date'/>
<input type="radio" id="date" value="finishDate" name="date1" class='date'/>
<强> JS:强>
if($('.date').val() == 'requireDate')
答案 2 :(得分:0)
你可以尝试这个吗,使用$("input:radio[name=date]:checked").val()
$('#search').click(function() {
var dateVal = $("input:radio[name=date]:checked").val();
if(dateVal == 'requireDate'){
CommonUtil.ajaxPagingSubmit('<c:url value="${innovativepot}/A/SubscDtm" />', 1, $('#frm').serialize(), 'content');
} else if (dateVal == 'finishDate') {
CommonUtil.ajaxPagingSubmit('<c:url value="${innovativepot}/A/cpltSubscDt" />', 1, ('#frm').serialize(), 'content');
}
});
答案 3 :(得分:0)
首先,您不需要对两个单选按钮使用相同的id
。
其次,要使用checked
访问name="date"
单选按钮,请尝试 $("input[name=date]:checked").val()
:
<强>脚本:强>
$('#search').click(function () {
if ($("input[name=date]:checked").val() == 'requireDate') {
// DO SOMETHING
console.log("start date");
} else if ($("input[name=date]:checked").val() == 'finishDate') {
// DO SOMETHING ELSE
console.log("end date");
}
});