У меня есть петля foreach, откуда я получаю деньги и оригинал id. Я использую флажок после тегов p, и флажок возвращает true или false.Получение информации из нокаута массива js
<div data-bind="foreach : info">
<p data-bind="$data.cash"></p>
<p data-bind="$data.orig_id"></p>
<input type="checkbox" data-bind="Switch: $root.on_off"/>
</div>
То, что я хочу сделать, это использовать флажок, чтобы изменить что-то в базе данных, поэтому в основном мне нужно, чтобы получить orig_id этого флажка. поэтому я подумал, может быть, если я добавлю привязку кликов, это может дать мне orig_id, из которого каждый массив я получаю от каждой функции, но не работает. Поэтому мой вопрос заключается в том, как я могу получить orig_id каждый раз, когда человек нажимает на переключатель.
Я попытался сделать что-то подобное на js, поэтому я могу получить идентификатор orig из поля ввода флажка.
self.sendCheckBoxInfo = function(data, event){
alert(data.orig_id);
}
<div data-bind="foreach : info">
<p data-bind="$data.cash"></p>
<p data-bind="$data.orig_id"></p>
<input type="checkbox" data-bind="Switch: $root.on_off, click : $root.sendCheckBoxInfo" />
При необходимости здесь код переключателя DataBind
ko.bindingHandlers.Switch = {
init: function (element, valueAccessor, allBindingsAccessor, viewModel) {
$elem = $(element);
$(element).bootstrapSwitch();
$(element).bootstrapSwitch('setState', ko.utils.unwrapObservable(valueAccessor())); // Set intial state
$elem.on('switch-change', function (e, data) {
valueAccessor()(data.value);
}); // Update the model when changed.
},
update: function (element, valueAccessor, allBindingsAccessor, viewModel) {
var vStatus = $(element).bootstrapSwitch('state');
var vmStatus = ko.utils.unwrapObservable(valueAccessor());
if (vStatus != vmStatus) {
$(element).bootstrapSwitch('setState', vmStatus);
}
}
Сообщение довольно неясно. Во-первых, нет (наблюдаемого) массива где угодно. Попробуйте создать [mcve] для вашей проблемы. – Jeroen
Это довольно ясно, я спрашиваю, проверяет ли проверенная databind больше информации, отличной от истинной или ложной. –
Параметр после того, который вы назвали 'viewModel', будет иметь текущие $ data, который включает в себя' orig_id'. См. Http://knockoutjs.com/documentation/custom-bindings.html –