1

私のスパでは、ノックアウト js を使用して API からのデータをバインドし、オプションを正常に選択しています。

コード:

<select id="ddlClassificationPosition" name="" data-theme="c" data-bind="options: ClassificationPositionData, optionsValue: 'ClassificationPositionID', optionsText: function (i) { return i.Classification + ':' + i.Position },selectedOptions: SelectedItems, optionsCaption: 'Choose..'">
 <option value="0">
     Choose..
 </option>               
</select>

 self.SelectedItems= ko.observableArray([]);
  var vm = {
        ClassificationPositionData: ko.observableArray(positionData),
        ClassificationPositionID: ko.observable(),
        SelectedItems: ko.observableArray([])
    };

しかし、更新ボタンをクリックすると、選択したオプションをデフォルトのテキスト「Choose ..」に変更したいと思います。ボタンクリックで以下のコードを書きました。

 <a data-role="button" data-transition="slide" href="#page3" data-icon="arrow-r"
              data-iconpos="right" data-bind="event: { click: btnAddContactLink }">
                 Sample
              </a>
self.btnAddContactLink = function () {
   self.SelectedItems.removeAll();
}

更新ボタンをクリックしても、テキストは変更されません。しかし、そのドロップダウンをクリックすると、以下のように選択されたオプションとして「Choose ..」が表示されます。 ここに画像の説明を入力

どこで間違えたのかわからない。友達を助けてください

4

4 に答える 4

0

ラジオボタンのコード:

  <input id="radio1" name="rbtnShift" value="1" data-theme="c" type="radio">

更新ボタンのクリックでは、以下のように記述してください。

  $("input[type='radio']").checkboxradio();
  $("input[name^='rbtnShift']").attr("checked", false).checkboxradio("refresh");
于 2013-09-06T10:26:15.690 に答える
0

オブザーバブル変数にバインド<select>し、その値を null に設定してアイテムの選択を解除するだけです。

<select id="ddlClassificationPosition" name="" data-theme="c" data-bind="options: ClassificationPositionData, value: selectedPosition, optionsValue: 'ClassificationPositionID', optionsText: function (i) { return i.Classification + ':' + i.Position }, optionsCaption: 'Choose..'"></select>

<button data-bind="click: function(){ $root.selectedPosition(null); }">Reset</button>

作業フィドル: http://jsfiddle.net/Wuj98/

于 2013-08-19T09:13:52.387 に答える