1

jsViewsを使用してサーバーからのいくつかの値にバインドされた選択があります。オプションを表示することに成功しましたが、選択オプションを追跡して、JavaScript オブジェクトの値に設定できるようにしたいと考えています。これは私のコードです:

<select id="albumChoice" data-link="selectedAlbum">
    <option value="-">Please select</option>
    {^{for albums}}
    <option data-link="{value{:id} text{:name}} selected{:selectedAlbum}}"></option>
    {{/for}}
</select>

完全なサンプル コードは、次のフィドルにあります: http://jsfiddle.net/4ZevT/

ご覧のとおり、 selected{:selectedAlbum} を使用しようとしましたが、何もしません。ページがサーバーから値にロードされたときにオプションが自動的に設定されるようにするにはどうすればよいですか。

4

1 に答える 1

6

ここに例があります:

http://www.jsviews.com/#jsvplaying。(セクションの最後を参照してください: Sample: data-linking to <select>... and much more... )

ここでフィドルを更新しました:http://jsfiddle.net/4ZevT/2/

のデータ リンクの構文に<option... エラーがあります。私はそれを次のように更新しました:

<option data-link="value{:id} {:name} selected{:id == ~root.selectedAlbum}"></option>

選択されたバインディングは、数値ではなくブール値を想定しています...

IDに数値を使用しているからselected{:id == ~root.selectedAlbum}ではなく、設定する必要がありました。selected{:id === ~root.selectedAlbum}それらを文字列に変更すると、に切り替えることができます===

于 2013-08-09T19:33:56.923 に答える