これにはおそらく多くの反対票が入るでしょうが、苦労しているので本当に助けが必要です.
HTML ページに次のコードがあります。
<div class="lines">
<div class="formElement">
<label>Activity</label>
<select name="activity" id="activity" data-bind="options: activityArray, value: activity, event:{mouseover: interactive, mouseout: interactive}, onclick: interactive" style="width: 15em;"></select>
</div>
<div class="formElement">
<label>Sub Activity</label>
<select name="subActivity" id="subActivity" data-bind="options: subActivityArray, value: subActivity" style="width: 15em;"></select>
</div>
</div>
ここに私のビューモデルがあります:
viewModelMain = function () {
var
mainData = ko.observableArray([]),
showView = ko.observable(),
activity = ko.observable(),
activityArray = ko.observableArray(['licenses', 'services']),
subActivity = ko.observable(),
subActivityArray = ko.observableArray([]),
request = ko.observable(),
firstPayAmmount = ko.observable(),
recuringAmmount = ko.observable(),
comment = ko.observable(),
interactive = function () {
console.log("inside of interactive");
if (this.activity() == 'licenses') {
this.subActivityArray(['test']);
} else this.subActivityArray(['test1']);
};
return {
mainData: mainData,
showView: showView,
activity: activity,
activityArray: activityArray,
subActivity: subActivity,
subActivityArray: subActivityArray,
request: request,
firstPayAmmount: firstPayAmmount,
recuringAmmount: recuringAmmount,
comment: comment,
interactive: interactive
};
},
私の質問は、2 つのドロップダウン間の依存関係に関するものです。1 番目のオプションが選択されているときに 2 番目のドロップダウンの値を変更するにはどうすればよいですか? 上記のコードでわかるように、試してみevent:{mouseover: interactive, mouseout: interactive}
ましたが、問題は、2 番目のオプションが選択されたときに、マウスが選択ボックスに再び移動するまで、snd ドロップダウンの値が更新されないことです。これを作る簡単な方法があると確信していますが、初心者としてそれを見つけることができません