我有很少的输入元素包含在'if'绑定上。当我从其中一个元素打开一个弹出窗口并将一个值从弹出窗口设置为开启时出现问题,弹出窗口显示找不到元素。 这是代码。
<!-- ko if: enableCustomerCode() -->
<a href="#" onclick="return getCustomerList();">
<img src="<%=path%>/images/blueSearch1.JPG" alt="Search Customer" border="0" height="16" />
</a>
<input type="hidden" id="customername" />
<input type="hidden" id="customerid" />
<input type="hidden" id="customercode" />
<input type="hidden" id="custOuId" />
<input type="hidden" id="custOuCode" />
<input type="hidden" id="customerallcurrency" />
<!-- /ko -->
function onPopUpClose() {
modal.orderBooking().customerCode($("#customercode").val());
}
抱歉,这是我的代码问题,但现在jquery自动完成功能无效
autoCompleteJQ($("#abc"), "ENTITYNAMEFORORDER", function(suggestion) {
modal.orderBooking().customerId(suggestion.dbId);
modal.orderBooking().customerCode(suggestion.id);
modal.orderBooking().customerName(suggestion.code);
});
此处abc
位于if
绑定
答案 0 :(得分:1)
你正在编写jQuery并将一些Knockout混入其中。这不是Knockout的工作方式。 Knockout需要控制DOM。 #abc
可能在您查找时不存在,因为它位于if
部分。
您应该创建一个自定义绑定处理程序,以便Knockout在插入节点时可以调用autoCompleteJQ
。 This may be what you need