【发布时间】:2015-01-14 17:24:17
【问题描述】:
我知道解决方案是jQuery.on-function,但它并没有像我预期的那样工作。
以下问题:
我通过 Websocket(JSON) 数据提取并在文档就绪功能中构建我的页面(出于连接原因)。
这意味着我通过jQuery.append()-函数添加了几个输入字段,并在按下 SET 按钮时尝试访问选择输入。访问选择输入失败。
我选择了 body 作为父元素,其他所有的表单域都应该在里面。
出于演示原因,我删除了 Websocket-Functions。我已经硬编码了表格,因为它是真实的。调试消息显示在 firebug 控制台中。 这是小提琴:http://jsfiddle.net/gLauohjd/
这是我访问选择输入的方式
$("body").on('click', ':button', function () {
console.log( $( this ).text() ); //Value of the pressed button
var ip = $(this).attr('ip');
var selectvalue = "#" + "modeselect" + ip;
console.log(selectvalue); //Print the selector to verify it is ok
console.log($(selectvalue).val()); //fails ->not found in DOM
非常感谢任何帮助!
【问题讨论】:
-
按钮没有
text(),所以这是一个空字符串。它也没有ip属性,所以它是未定义的,这意味着selectvalue是#modeselectundefined。没有任何内容与此选择器匹配。 -
代替
$(selectvalue).val(),尝试:$('body').find(selectvalue).val() -
问题不在于(如我所想)
.on-函数。正如您在所选答案的 cmets 部分中看到的那样,正确的转义是解决方案。还是谢谢你!
标签: javascript jquery dom selector