【问题标题】:do something on selecting a radio button在选择单选按钮时做一些事情
【发布时间】:2011-12-28 00:03:20
【问题描述】:

当单选按钮被选中时,我想在 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) 有什么方法可以取消选择单选按钮?是onUnselect吗?如果是,它将与所有浏览器兼容吗?我没有找到答案。

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

但我希望 ajax 调用一个接一个地完成。 Ajax 调用 1 完成,call2 开始,call2 完成,call3 开始等等。

但这在我描述的情况下可能不会发生,因为异步性质 的阿贾克斯。

所以我需要让后续调用保留在前面的 jquery ajax 调用的回调函数中。我没有办法做到这一点

我怎样才能实现我的目标?

我的脚本语言是 php

编辑:

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

我的问题是:

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

【问题讨论】:

  • 1) 你可以调用radiobutton.checked = false。 2)stackoverflow.com/questions/133310/…
  • 3) 您可以将查询 ajax 调用设置为同步等。或者在本论坛搜索 ajax 队列
  • 这里没有保留;您将不得不再次拨打所有电话。
  • @Dennis Hunink,这是关于一个在线 php MCQ(多项选择题)考试脚本。我认为,用户不应该被指示在页面刷新后再次选择单选按钮。那有什么解决办法呢?

标签: javascript jquery


【解决方案1】:
$(function(){
    $("input[name*='group1']").click(function(){
        alert("Clicked");
    });

});

试试这个,别忘了在 head 部分调用 jquery 文件。

【讨论】:

  • 我在你对我的问题 1 和 2 的回复中没有看到答案。请解释一下
  • @Bo-Persson,等待您的来信
  • 如何取消选择单选按钮,除非您使用 javascript 更改其行为方式
【解决方案2】:

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

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

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

这是一种混乱的代码,所以我可能会将成功回调放在命名函数中,而不是上面显示的匿名函数。现在,如果您希望按照问题中的提示单击每个按钮进行一次 ajax 调用,我将实现一个队列来使 ajax 调用入队和出队。在 click 事件中将项目排入队列,并在每个 ajax 调用的成功回调中重新访问队列,以查看是否还有项目需要处理。

【讨论】:

  • 让我试试。我的问题 1 的答案是什么?
猜你喜欢
  • 2016-04-02
  • 2016-09-24
  • 2015-02-27
  • 2021-12-30
  • 1970-01-01
  • 2017-07-24
  • 1970-01-01
  • 1970-01-01
  • 2018-06-28
相关资源
最近更新 更多