如何解决这个错误?

时间:2011-06-16 16:09:56

标签: javascript jquery

在这个JSfiddle

http://jsfiddle.net/littlesandra88/jy93J/1/

我遇到的问题是,单击“保存”时,它会将“详细信息”替换为“0”。

如果我评论这一行

$(this).prev().html(order);

它不再这样做,但随后排序不起作用。尝试点击“签名”进行排序。

单击“保存”时,将执行

$('form').live('submit', function() {
    return false;
});

是什么原因导致“详细信息”变为“0”?

怎么能修复,所以排序仍然有效?

3 个答案:

答案 0 :(得分:2)

选择器'#accTable input包含<input value="Save" type="submit">

:checkbox添加到选择器,仅选择input元素作为复选框。

答案 1 :(得分:1)

我更新了你的小提琴以解决问题。

在点击功能中,由于您刚刚输入,因此您包括了按钮和复选框。一旦你追加:复选框就会阻止它在保存按钮上执行事件,这就是在它之前的元素中放置0(详细信息链接)。

$('#accTable input:checkbox').click(function() {
    var order = this.checked ? '1' : '0';
    $(this).prev().html(order);

    $(this).parents("table").trigger("update");
});

http://jsfiddle.net/HH8nk/1/

答案 2 :(得分:1)

您指向所有HTML输入元素,此处:保存按钮和复选框。

更改

$('#accTable input').click(function() {

$('#accTable input[type=checkbox]').click(function() {

它会正常工作。