<div id="Modal<%= index %>">
<div>
<input type="text" id="textvalue">
</div>
</div>
在上面的代码中,我需要获取文本字段的值,但问题是div id是根据索引变量,即它可能是'Modal0'或'Modal1'或'Modal'n“'取决于值指数。所以,如果我写$(#textvalue).val()那么它总是给出在id'Modal0'中输入的文本。这将是什么解决方案?最大的问题是我不能使用'Modal0'或'Modal1'... id,因为它是动态生成的。
答案 0 :(得分:0)
你可以使用最接近的jquery函数,使潜水ID不同。 nearest将获取父标记。
$(diveid).closest( “diveid”)inoutid.val();
答案 1 :(得分:0)
您还应该在查询中包含父div,例如:
$("#Modal0 input").val();
答案 2 :(得分:0)
首先你应该选择你想要的div,然后找到它的文本输入
$('#Modal0').find('#textvalue').val();
$('#Modal1').find('#textvalue').val();
答案 3 :(得分:0)
我不确定这是否是你要做的,但如果点击按钮只会影响{em>同一容器的ID div
{{1}然后这将解决这个问题:
input.textvalue
样本:
$('div[id^=Modal] #textvalue').val());
$(function(){
$('a').on('click', function(e) {
const ID = $(this).attr('href')
const counterID = ID.substring(ID.length-1);
const targetID = $('div[id^="Modal"]').attr('id');
$('div[id^="Modal"]').attr('id', 'Modal'+(counterID-1));
console.log('DIV ID:', 'Modal'+(counterID-1));
});
$('button').on('click', function(){
console.log('DIV ID: ' + $('div[id^=Modal]').attr('id'), ' ,TEXT VAL: ' + $('div[id^=Modal] #textvalue').val());
});
});