做一些选择单选按钮的事情

时间:2011-11-13 10:45:48

标签: javascript jquery

我想在选择单选按钮时在jquery的帮助下执行某些操作。

假设页面有n个单选按钮组

<input type="radio" name="group1" value="1" onSelect="jquery ajax" /><br>
<input type="radio" name="group1" value="2" onSelect="jquery ajax" /><br>


<input type="radio" name="group2" value="1" onSelect="jquery ajax"/><br>
<input type="radio" name="group2" value="2" onSelect="jquery ajax" /><br>

依旧......

每个onSelect调用相同的js函数(假设,jsForAjaxCall(args)),它启动jquery ajax调用。

当选择或取消选择单选按钮时,我想要一个jquery ajax调用。我展示了它的选择。

1)有什么方法可以让这个javascript调用取消选择单选按钮?是取消选择吗?如果是,它是否与所有浏览器兼容?我找不到答案。

2)假设用户选择一个接一个的单选按钮(一组中的一个按钮)并进行相应的ajax调用。

但是我希望ajax调用一个接一个地完成。 Ajax调用1完成,call2开始,call2完成,call3开始,依此类推。

但是由于异步性质,在我描述的情况下可能不会发生这种情况 of ajax。

所以我需要将后续调用保留在前面的jquery ajax调用的回调函数中。我发现无法做到这一点

我如何实现目标?

我的脚本语言是php

修改

假设用户一个接一个地点击n个单选按钮(组中的一个按钮)。对于每个按钮选择,进行同步ajax调用以使二维会话数组保持所选单选按钮的值,以便在页面刷新之后,这些值可用于保留单选按钮的选择。在这种情况下,应首先更改首先编写的html单选按钮代码。

我的问题是:

用户完成点击n个按钮(即n = 10),然后他/她刷新页面。进行了5次同步ajax调用,剩余的r尚未完成。然后在页面刷新之后,将保留最后5个单选按钮选择的值吗?如果不是如何保留那些处于上述情况的人。

2 个答案:

答案 0 :(得分:0)

$(function(){
    $("input[name*='group1']").click(function(){
        alert("Clicked");
    });

});

试试这个,不要忘记在head部分调用jquery文件。

答案 1 :(得分:0)

基于nyfer的回答,您可以在$ .ajax的成功回调中链接ajax调用:

$("input[name*='group1']").click(function(){
    $.ajax({

    success: function(){
        $.ajax({
            success:function(){
                $.ajax({});
            }
        });
    }
    });
});

这是一些混乱的代码,所以我可能将成功回调放在命名函数中,而不是如上所示的匿名函数。现在,如果你想在问题中暗示点击每个按钮一个ajax调用,我会实现一个队列来排队和出列ajax调用。在click事件中排队项目,并在每次ajax调用的success-callback中重新访问队列,以查看是否还有剩余项目需要处理。