2012-04-09 2 views
0

Я сделал jsfiddle с моим кодом на http://jsfiddle.net/dorraba/HuDPJ/ Я хочу создать простую корзину покупок, где я могу добавлять и удалять элементы. Мое намерение состоит в том, чтобы Продукт был объектом (Название и цена) В корзине покупок будет храниться список предметов, каждый из которых будет построен из Продукта и количества.Нокаут Комплексные переменные не привязаны

Моя проблема: я не могу найти способ установить текстовое поле. Цена по продукту, выбранному в раскрывающемся списке в каждой строке.

Любая помощь будет отличной. Спасибо.

ответ

2


Вы должны использовать привязку значений для входных элементов, иначе вы получите ошибку DOM.

Кроме того, у вас есть свойство optionsValue вариантов привязки к 'Name', что приведет к тому, что нокаут установит значение ShoppingCartItem.Product на имя продукта.

Привязка к вложенным свойствам, например Product.Price, приведет к ошибке, если родительский (в данном случае Price) оценивается как неопределенный. Следовательно, вам нужно проверить, если определяется продукт ... как это: data-bind="value: (Product() ? Product().Price : '')"

Вот рабочий раствор Вашего jsfiddle: http://jsfiddle.net/HuDPJ/1/

Смежные вопросы