我有一个动态加载的选项卡。现在我将值放在隐藏的字段值中。现在我想根据每个激活的选项卡获取这些值。但我尝试了很多方法,但它给了undefined.please帮助我提前感谢。
$('.maintab').on('shown.bs.tab', function (e) {
var target = $(e.target).attr("data-bprid"); // activated tab
var ref_this = $(".maintab li .active");
// i want to get the processid and branchid for specific tab
var mydiv = ref_this.find( ".response-report .processid" );
console.log(mydiv.find('.processid').val());
});
<ul id="main_tab_list" class="nav nav-tabs nav-justified maintab" role="tablist">
<li role="presentation" class="active"><a href="#EXN" aria-controls="EXN" data-bprid="1" role="tab" data-toggle="tab"><strong>Extrusion</strong></a></li>
<li role="presentation" class=""><a href="#WAW" aria-controls="WAW" data-bprid="3" role="tab" data-toggle="tab"><strong>Web & Warp</strong></a></li>
</ul>
<div class="tab-content" id="dashboard-tab-content">
<div role="tabpanel" class="tab-pane fade in active" id="EXN">
<div class="response-report"></div>
<input type='hidden' class="processid" name="pros_id" value="1" >
<input type='hidden' class ="branchid" name="brs_id" value="1" >
</div>
</div>
<div role="tabpanel" class="tab-pane fade" id="WAW">
<div class="response-report"></div>
<input type='hidden' class="processid" name="pros_id" value="2" >
<input type='hidden' class ="branchid" name="brs_id" value="1" >
</div>
你有一个错误的选择器来获得目标div元素。您可以在所选项目中使用锚元素的href值。使用返回值作为ID选择器来定位具有input元素的div:
var ref_this = $(".maintab li.active");
var targetID = ref_this.find('a').attr('href');
console.log($(targetID).find('.processid').val());
与response-report
类不同的div不在ref_this
区块内。也输入类processid
不是response-report
的孩子。所以mydiv
总是在undefined
。
我认为这对你有用:
$('.maintab').on('shown.bs.tab', function (e) {
var target = $(e.target).attr("data-bprid"); // activated tab
var ref_this = $(".maintab li.active a");
var div_id = ref_this.attr("aria-controls");
var processid = $("#" + div_id).find(".processid").val();
console.log(processid );
});