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 に答える