【问题标题】:Jquery check previous radio button on ajax empty responseJquery检查ajax空响应上的上一个单选按钮
【发布时间】:2014-02-24 04:44:06
【问题描述】:

我的单选按钮很少。当您将其中一项标记为已选中时,将执行 ajax 请求。如果响应为空,我需要取消选中此单选并标记以前选中的单选。

例如:

$('input[type="radio"]').on('click', function (e) {
   callAjax();
});

如何添加所需的逻辑?

【问题讨论】:

    标签: jquery ajax radio-button


    【解决方案1】:

    你可以这样做:

    $('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/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-28
      • 2016-05-08
      • 2016-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-13
      • 1970-01-01
      相关资源
      最近更新 更多