1

我有一个用于添加新预算详细信息的表格,如下图所示:

在此处输入图像描述

当我选择一个收入帐户时,视图模型集合中会添加另一行:

在此处输入图像描述

我想在添加新行时将所有字段值设置为“0.00”,而且我遇到了一个问题,因为如果我删除一行,那么组合的“更改”事件不存在,因此无法添加新行更改最后一个组合时。

有什么线索吗?这是小提琴工作示例:http: //jsfiddle.net/rLUyS/9/

这是我用来将更改操作绑定到最后添加的组合的代码:

$('select[name=cboincomeaccount_' + newRowIndex + ']').bind("change", {
    combo: $(this)
}, handler);

function handler(event) {

    newRowIndex++;
    var combo = jQuery(this);
    var row = combo.parent().parent();

    appViewModel.addRow();

    // Unbind
    combo.unbind('change');
    // Bind new combo
    jQuery('select[name=cboincomeaccount_' + newRowIndex + ']').bind("change", {
        combo: jQuery(this)
    }, handler)

    jQuery(row).find('input[name^="txtincmonth"]').removeAttr('disabled');    
};

提前致谢!!

4

1 回答 1

0

这可能不是敲除问题,而是用户界面问题。

添加新行时,我想将所有字段值设置为“0.00”

好吧,这很容易。只需将可观察行初始化为全零。

当我选择一个收入帐户时,另一行被添加到视图模型集合中......而且我也遇到了一个问题,因为如果我删除一行,那么组合的“更改”事件不存在,因此无法添加新的更改最后一个组合时的行。

这可能是一个可以协商的要求。

为什么不创建一个“添加”按钮,而不是坚持这种“漂亮”的行为,即当用户在下拉列表中创建一个部分时添加一行?

此外,即使我们可以完成您的要求(我可以设想一种我们可以做到的方式),当需要将用户的输入保存到服务器时,您会怎么做?您是否打算忽略最后一个空行?

于 2012-12-13T02:38:43.437 回答