Как написать пользовательский bindingHandlers, поддерживающий многозначное связывание
ko.bindingHandlers.selectssq = {
init: function (element, valueAccessor, allBindings) {
var value = valueAccessor();
var _projAreaNo = value() ||"";
$(element).cascadingDropdown({
selectBoxes: [
{
selector: '.sheng',
selected: _projAreaNo.substring(0, 8),
source: function (request, response) {
getArea('0001', response);
},
onChange: function (event, val, requiredValues, requirementsMet) {
value(val);
**allBindings.get('Sheng')**
}
},
{
selector: '.shi',
requires: ['.sheng'],
source: function (request, response) {
getArea(request.sheng, response, _projAreaNo.substring(0, 12));
},
onChange: function (event, val, requiredValues, requirementsMet) {
if (!requirementsMet) return;
value(val);
}
},
{
selector: '.qu',
requires: ['.sheng', '.shi'],
requireAll: true,
source: function (request, response) {
getArea(request.shi, response, _projAreaNo.substring(0, 16));
},
onChange: function (event, val, requiredValues, requirementsMet) {
if (!requirementsMet) return;
value(val);
}
}
]
});
}
};
Я хочу связать несколько значений элемента , Мне нужно обновить value и customerData.Sheng, когда селектор: 'sheng 'onchange, обновить значение и customerData.Shi, когда селектор:' shi 'onchange, обновить значение и customerData.Qu, когда селектор:' qu 'onchange,
<div id="selarea" data-bind="selectssq:customerData.AreaNo,customerData.Sheng,customerData.Shi,customerData.Qu" >
<select class="sheng form-control col-md-3" name="sheng" id="sheng" required>
<option value="">===请选择===</option>
</select>
<select class="shi form-control col-md-3" name="shi" id="shi" required>
<option value="">===请选择===</option>
</select>
<select class="qu form-control col-md-3" name="qu" id="qu">
<option value="">===请选择===</option>
</select>
</div>
Как изменить пользовательский код bindingHandlers Обновить соответствующее значение привязки других реализаций