0

これは私を狂わせています。私は簡単なことをしようとしていますが、たくさんの問題があります。はいといいえが入ったコンボボックスにバインドしたい2つのブールフィールドがあります。Kendo UI Comboboxを使用したいのですが、これをすべてKendoUIグリッドのポップアップテンプレートで実行しています。

以下のコードスニペットでは、(テンプレートの最後に)2つの選択があります。1つはdata-role = "dropdownlist"が設定されており、もう1つは設定されていません。

最初の選択であるReceiveEmailMontlyFlyerは、ユーザーを編集するときに正しい値を選択しますが、バインドされるはずの値は変更しません。2番目の選択であるReceiveEmailMessagesは、正しい値を選択したり、正しい値を返したりしません。

助けてください。痛々しいほど単純なもの、私が知らない、または理解していないHTML5バインディングまたは剣道に関するいくつかのルールが欠けているに違いありません。

<script id="popupEditorTemplate" type="text/x-kendo-template">
    <div class="k-edit-label">
        <label for="Username" class="required">Username</label>
    </div>
    <input type="text" class="k-input k-textbox" name="Username" data-bind="value:Username">

    <div class="k-edit-label">
        <label for="FirstName" class="required">First Name</label>
    </div>
    <input type="text" class="k-input k-textbox" name="FirstName" data-bind="value:FirstName">

    <div class="k-edit-label">
        <label for="LastName" class="required">Last Name</label>
    </div>
    <input type="text" class="k-input k-textbox" name="LastName" data-bind="value:LastName">

    <div class="k-edit-label">
        <label for="Email" class="required">Email</label>
    </div>
    <input type="text" class="k-input k-textbox" name="Email" data-bind="value:Email">

    <div class="k-edit-label">
        <label for="HomePhone">Home Phone</label>
    </div>
    <input type="text" class="k-input k-textbox" name="HomePhone" data-bind="value:HomePhone">

    <div class="k-edit-label">
        <label for="WorkPhone">Work Phone</label>
    </div>
    <input type="text" class="k-input k-textbox" name="WorkPhone" data-bind="value:WorkPhone">

    <div class="k-edit-label">
        <label for="MobilePhone">Mobile Phone</label>
    </div>
    <input type="text" class="k-input k-textbox" name="MobilePhone" data-bind="value:MobilePhone">

    <div class="k-edit-label">
        <label for="Line1" class="required">Address Line 1</label>
    </div>
    <input type="text" class="k-input k-textbox" name="Line1" data-bind="value:Line1">

    <div class="k-edit-label">
        <label for="Line2">Address Line 2</label>
    </div>
    <input type="text" class="k-input k-textbox" name="Line2" data-bind="value:Line2">

    <div class="k-edit-label">
        <label for="ReceiveEmailMontlyFlyer">Receive Flyer</label>
    </div>

    <select name="ReceiveEmailMontlyFlyer" id="ReceiveEmailMontlyFlyer" data-bind="value:ReceiveEmailMontlyFlyer">
        <option value="1">Yes</option>
        <option value="0">No</option>
    </select>

    <div class="k-edit-label">
        <label for="ReceiveEmailMessages">Receive other</label>
    </div>
    <select id="ReceiveEmailMessages" name="ReceiveEmailMessages" data-bind="value:ReceiveEmailMessages" data-role="dropdownlist">
        <option value="1">Yes</option>
        <option value="0">No</option>
    </select>
    <br />
</script>
4

2 に答える 2

0

これがあなたの問題を完全に助けるかどうかはわかりませんが、あなたはあなたの問題を閉じませんでした

<script>

問題になる可能性があります

于 2013-03-24T22:16:54.430 に答える
0

私は少し前にこれを理解しましたが、ここに投稿することはありませんでした。したがって、他の誰かがこれを必要とする場合に備えて、これが私が見つけたものです。

次のようなスクリプトタグでデータソースを作成しました。

    var yesNoDropDownDataSource = new kendo.data.DataSource({
        data: [{ Value: "true", Text: "Yes" }, { Value: "false", Text: "No" }]
    });

次に、ポップアップテンプレートで次のように使用しました。

    <div class="k-edit-label">
        <label for="ReceiveEmailMonthlyFlyer" class="required">Receive Flyer</label>
    </div>
    <input name="ReceiveEmailMonthlyFlyer"
        data-bind="value:ReceiveEmailMonthlyFlyer"
        data-value-field="Value"
        data-text-field="Text"
        data-source="yesNoDropDownDataSource"
        data-role="dropdownlist" />
    <br>
于 2013-12-18T13:31:58.150 に答える