jQuery 选择器在 DOM 中找不到添加的元素

jQuery selector can't find added elements in DOM

我知道解决方案是 jQuery.on 函数,但它并没有像我预期的那样工作。

以下问题: 我通过 Websocket(JSON) 提取数据并在文档就绪函数中构建我的页面(出于连接原因)。 这意味着我通过 jQuery.append()-函数添加了几个输入字段,并尝试在按下 SET 按钮时访问 select-输入。访问 select 输入失败。 我已经 select 编辑正文作为父元素,所有其他表单字段都应该在其中。

出于演示原因,我删除了 Websocket-Functions。我已经对表格进行了硬编码,因为它是真实的。调试消息显示在 firebug 控制台中。 这是fiddle:http://jsfiddle.net/gLauohjd/

这是我访问 select 输入的方式

$("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

非常感谢任何帮助!

对于 select 带有 jQuery 的标签,仅使用标签名称。

$("body").on('click', 'button', function () { .. } // any button clicked on body

至于实际检索值,除非您转义点,否则您将无法这样做。

$("#modeselect127\.0\.0\.1").val();

你可以使用类似的东西:

var selectvalue = "#" + "modeselect" + ip.replace(/\./g, "\\.");

希望对您有所帮助。