【发布时间】:2019-03-25 15:05:33
【问题描述】:
我有几个 DOM 元素,绑定到我通过 API 调用检索的对象。
即
<input id="max_row_abs_discount"
name="settingsHelper[max_row_abs_discount]"
data-bind="value: settings.max_row_abs_discount">
数据绑定工作正常(在本例中,输入显示的数据为 1500)。
如果我尝试使用 jQuery 访问该值
let testVariable = $('#max_row_abs_discount').val()
它给出“未定义”作为回报。
编辑:
这是我尝试访问它的完整代码:
.on('click', '#change_all_table_settings', function(){
let testVariable = $('#max_row_abs_discount').val()
})
如果语法看起来很奇怪,那是因为我使用的是 Magento。
有人吗?
谢谢!
【问题讨论】:
-
1) 数据绑定很可能是由 knockout.js 完成的,而不是 jquery(查看this question 了解更多详情); 2) 你到底什么时候试图访问那个值?
-
对不起,我还是 jQuery 和淘汰赛的新手。我稍后(绑定完成后)尝试通过“onclick”功能访问它。选中复选框时,我想检索该值并将其更改为我决定的默认值。
-
为什么要更改DOM(视图)中的值而不是淘汰状态(模型)中的值?
-
因为我必须使用表格发送新信息。 1)我可以使用淘汰赛状态来做到这一点吗? 2)如果我在淘汰状态下更新值,DOM是否会自行更新?
-
@raina77ow 您对第 2 点的回答解决了我的问题。我不知道数据绑定是动态的。我想是自学成才的问题,我想先练习而不学习理论。克里斯,是的,这就是我要做的。感谢克里斯,特别感谢raina77ow!
标签: javascript jquery data-binding