jquery表单更改,单击事件无法被函数识别

时间:2013-04-11 11:40:56

标签: jquery forms onclick onchange

在我的表单上,当我更改输入值时,click事件无效。

演示 http://jsfiddle.net/RHuYs/3/

$('form.form-calculator input').on('change,click', function() {
    if ($(this).val() === 0) {
        alert('HELLO');
        this.value=0;
    }
    calc_total();
});

2 个答案:

答案 0 :(得分:0)

语法是'change click',而是空格而不是昏迷:)

修改

你的小提琴中还有另一个问题,你的监听器嵌套在你的calc_total()函数中,我编辑它并把它放在文档就绪函数中。它似乎有效。

$(document).ready(function(){
    $('form.form-calculator input').on('change click', function() {
        if ($(this).val() === 0) {
            alert('HELLO');
            this.value=0;
        }
        calc_total();
    });
});

http://jsfiddle.net/zMAz6/

答案 1 :(得分:0)

看看这里有什么问题:

  1. 您的.click()calc_total()函数应位于doc ready处理程序中。
  2. 在这里使用==代替===,因为3个等号表示“没有类型强制的平等”。使用三等于,值的类型也必须相等。
  3. 试试这个:

    $(function () {
       $('form.form-calculator input').on('change click focus', function () {
          if ($(this).val() == 0) {
            alert('HELLO');
            this.value = 0;
          }
          calc_total();
       });
    });
    

    Updated fiddle