1

我有一部分这样的 HTML 是动态生成的。popover 中的所有 tha 值也是动态生成的。现在我只显示了一个<li>值,id = "loc"它也是动态给出的。我想用 读取输入字段的值id = "loc"。无论我尝试过什么,我都可以在下面提到:

在 html 的第一行你可以看到id = "close". 当用户单击一个图标时,id = "close"我需要在弹出窗口中使用id = "loc".

我试过了

$('#data').on('click','.icon-remove',function(){

//var ptr=$(this).parents("tr.task");

//console.log($('i#close').find('p').css('background-color', 'red'));
//console.log(ptr.find(("#loc").val()));
//console.log($("#loc").val());
var $pel = $('.popover').find('#details')
console.log($pel.find('li#loc').val()); // through this I'm getting undefined
console.log($('.popover').find('#loc').val()); // this is giving me undefined

$('.popover').remove();

});

<i id=" close" class="icon-remove title-inner-pop closePop"></i>
<div class="popover-content">
<div>
<div class="more-option">


<span class="labels">1Yr Analytics</span>
<p>12 calls 15hours</p>
<a hrf="#">More...</a>
</div>
<div id="details">
<li>
<span class="labels">Location -</span>
<p>
<input id="loc" type="text" value="d">
</p>
</li>

如果有人可以建议我id = "loc"在有人单击弹出框内的图标时读取输入字段中的值,我会非常高兴id="close"。提前致谢。

4

1 回答 1

1

你把这种方式复杂化了很多。您的元素上有 id,使用find(). find()用于对动态内容使用高级查询。

您有非常静态的内容,只需使用以下内容即可。

$("#close").click(function(){
    var input = $("#loc").val();
})
于 2013-05-29T15:23:39.663 回答