【问题标题】:Ajax call not firing from checkbox onClickAjax 调用未从复选框 onClick 触发
【发布时间】:2012-09-12 10:18:24
【问题描述】:

我正在尝试做一些非常简单的事情,当表单中的复选框被选中时触发对数据库的查询,但是当用户点击它时,它什么也不做。我尝试过 onClick 或 onChange 事件句柄但没有成功。我究竟做错了什么?感谢您的任何建议!

  <head>
  //I'm using joomla and document.js is loading normaly
  $document->addScript("path/document.js");
  </head>

  <body>
  <form id='avisar' method='post' name='avisar'><div id='risposta'></div><input type='checkbox' name='invia' id='invia' value='yes' />Check it!</form>
  </body>

Document.js:已编辑以正确获取变量

   $(document).ready(function() {
$('#invia').change(function(){

    //variable
    var name = $("#att").val();
    var user = $("#user_id").val();
    var datastr ='name=' + name + '&amp;user=' + user;

    var id = parseInt($(this).val(), 10);
    if($(this).is(":checked")) {
        // checkbox is checked -> do something
        $.ajax({
        url: "processa_form_avisar.php",
        data: datastr,
        cache: false,
        success: function(html){
            alert('Updated successful.');
            $('#risposta').fadeIn("slow");
            $('#risposta').html(html);
            $('#risposta').css("background-color","#e1ffc0");
            setTimeout(function() {
            $("#risposta").fadeOut("slow");
            }, 2000);

            }
        });
    } else {
        // checkbox is not checked -> do something different
    }

}); });

【问题讨论】:

    标签: jquery ajax checkbox onclick onchange


    【解决方案1】:

    使用 jQuery 更改事件而不是单击...

    【讨论】:

    • 感谢 Gisli,我做了这个更改:$('#invia').change(function(){ 但仍然没有:(
    • 您准备好在文档上设置事件了吗?事件代码是否被命中?
    • 我现在编辑它以将其设置为文档就绪,您的意思是事件代码被命中?对不起,我的经验不足..
    • 我的意思是,事件处理程序正在执行吗?您是否可能在处理程序中遇到异常? parseInt($(this).val()) 浮现在脑海中。将复选框的值解析为整数?
    • 对不起...也许我应该更好地阅读您的代码。解析复选框的值将返回 NaN,但您不会在任何地方使用该值。但是,您的 html 不包括名称或用户 ID 的输入。
    猜你喜欢
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多