2

私のページにはたくさんの剣道コンボボックスがあります。値のクリアに問題があります (""); 私は次のようなコードを使用しています:

$('#clearAll').click(function () {       
        $("#params input").val("");        
    });

これにより、ページ上のすべての入力の値をクリアしようとしています。しかし、これは目に見える値をクリアするだけで、ビューモデルで値をチェックしても変更されません。

だから、変更イベントをトリガーする必要があると思ったので、次を使用しました:

$("#params input").trigger("change");

しかし、それでも同じです。剣道の MVVM の値バインディング ルールがよくわかりません。これは正常な動作ですか、それともバグですか?

4

1 に答える 1

4

MVVM パターンに忠実である場合は、View (コンボボックス) ではなく、ViewModel の値を変更する必要があります。

クリア ボタン (ビュー上) -> 「クリア」関数 (ビューモデル上) を呼び出します -> viewmodel.set("field", "") を呼び出します -> コンボボックスの更新をトリガーします (ビュー上)


そのままの方法でやりたい場合は、jQuery の.val()関数を呼び出す代わりに、代わりに Kendo ComboBox の.value()関数を使用してみてください: http ://docs.kendoui.c​​om/api/web/combobox#value

したがって、コードを次のように変更してみてください。

$("#params input").data().kendoComboBox.value("");
于 2012-12-16T00:17:41.463 に答える