JQuery:选择PHP生成的id

时间:2016-07-13 17:59:29

标签: php jquery

我通过PHP在已经存在的HTML表(id = detailedTable)中生成HTML输入(id =“newItem”)和HTML段落(id =“newDesc”)。在尝试使用$("#newItem").change(function()...触发函数后,我发现由于它是动态生成的,因此我必须使用Jquery .on()来引用它。现在这部分有效。

我的问题是返回Ajax调用,我尝试更改#newDesc值,但它无效。我怀疑这个ID是动态生成的相同原因。

$("#detailedTable").on('change','#newItem',function(){

var value=$(this).val();
value=value.replace(/\,/,'.');
value="value="+value;

$.ajax({
            url:'z-getDesc.php',
            type:'POST',
            dataType:'json',
            data:(value),
            success:function(values){
                values=values['descriptionA'];

                $("#newDesc").val(values);
            },
            fail: function(xhr, textStatus, errorThrown){
                alert('Please try again later');
            }
        });
});

到目前为止一切正常,返回'values'变量,剩下的就是:

我如何参考#newDesc id?

由于

编辑:清除一些内容:

1- DOM最初被加载,用户与它进行交互,带来一些变化,从而产生一系列数据。

2-这个数组被加载到一个通过JQuery Datatables通过ajax调用创建的表中;除了用数组填充表格外,我还生成一行内联编辑,包含上述#newItem和#newDesc的行。

1 个答案:

答案 0 :(得分:0)

生成内容后,您需要调用$("#detailedTable")。加载页面时会执行Javascript,因此当javascript执行时,它无法找到所选的ID并且不会再次尝试。调用.on的Add some javascript to whatever user interaction that generates the content,它应该有效。