如何从变量div id标签中选择文本值?

时间:2017-03-28 09:21:42

标签: javascript jquery html ejs

<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,因为它是动态生成的。

4 个答案:

答案 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());
  });
});