knockoutJsでselect入力ドロップダウンを処理していますが、knockoutJsでdata-bind = withを使用するとOption値が空です。誰も私にこれを手伝うことができますか?knockoutJsでdata-bind = withを使用すると、オプション値が空になる
今ではすべてが正常に動作しているまで、HTML<p data-bind="with: preferedTimeToPickupVal">
<span data-bind="text: name"></span>
</p>
<p data-bind="with: preferedTimeToPickupVal">
<span data-bind="text: price"></span>
</p>
の下に使用してデータを表示する
Dropdown.html
<span class="price"><select data-bind="options: preferedTimeToPickup,optionsCaption: 'Dont Know or Does not Matter',
optionsText: 'name',value: preferedTimeToPickupVal" id="u3413_input" ></select>
</span>
Custom.js
this.preferedTimeToPickup =
[{name:"Morning (8-11)",price:5},
{name:"Lunch (11-2)",price:6},
{name:"Afternoon (2-5)",price:7},
{name:"Specific: 8:00",price:8.5},
{name:"Specific: 9:00",price:9.5},
{name:"Specific: 10:00",price:10.25},
{name:"Specific: 11:00",price:11.25},
{name:"Specific: 12:00",price:12.25},
{name:"Specific: 1:00",price:13.25},
{name:"Specific: 2:00",price:14.25},
{name:"Specific: 3:00",price:15.25},
{name:"Specific: 4:00 (closed at 4 on sat)",price:16.25}];
this.preferedTimeToPickupVal = ko.observable();
が、選択ドロップでにoptionsValue: 'name'
を使用すると、value=""
が空になりますの場合、値はうまく表示されますが、データを表示する場所ではdata-bind="with: preferedTimeToPickupVal
が機能しません。
ご協力いただければ幸いです。
ノックアウトを使用する場合、 'document.getElementById( 'id')。value'に依存しないでください。 'value'バインディングは文字列だけでなく、(' with'バインディングを持つ部分をサポートしているので)あなたの状況では非常に便利です。良い方法:他の場所で 'value'が必要な場合は、ビューモデルにリンクします。悪い習慣:少なくとも、 "ko.dataFor(element).preferedTimeToPickupVal()。price"を使って、選択した価格をDOMから取得する。 – user3297291