【发布时间】:2014-02-24 04:44:06
【问题描述】:
我的单选按钮很少。当您将其中一项标记为已选中时,将执行 ajax 请求。如果响应为空,我需要取消选中此单选并标记以前选中的单选。
例如:
$('input[type="radio"]').on('click', function (e) {
callAjax();
});
如何添加所需的逻辑?
【问题讨论】:
标签: jquery ajax radio-button
我的单选按钮很少。当您将其中一项标记为已选中时,将执行 ajax 请求。如果响应为空,我需要取消选中此单选并标记以前选中的单选。
例如:
$('input[type="radio"]').on('click', function (e) {
callAjax();
});
如何添加所需的逻辑?
【问题讨论】:
标签: jquery ajax radio-button
你可以这样做:
$('input[type="radio"]').on('click', function (e) {
var prior = $(this).prevAll('input[type="radio"]').first();
callAjax(this, prior);
});
var prior = $(this).prevAll('input[type="radio"]').first(); 返回上一个单选按钮,无论它们之间有什么标记。就像你有这样的标记:
<input type="radio" id="r1">r1<br>
<input type="radio" id="r2">r2<br>
<input type="radio" id="r3">r3<br>
.. etc
callAjax 函数应该/可能看起来像这样:
function callAjax(element, prior) {
$.ajax(
...
success : function(response) {
if (response=='') {
$(element).prop('checked', false);
$(prior).prop('checked', true);
}
}
});
}
我无法在小提琴中重现真正的 ajax 调用,但无论如何都可以看到 -> http://jsfiddle.net/qHc28/
【讨论】: