触发按钮时从数据表中的行中获取下拉选定值
Get drop down selected value from row in datatables when trigger button
我已将示例包含在 jsFiddle 中。
我的问题是,当在同一行触发 "click" 按钮时,如何让行下拉选中的值。
这是我的 HTML:
<table id="table1">
<thead>
<tr>
<th>Item</th>
<th>UOM</th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>Item 1</td>
<td>
<select>
<option></option>
<option>BAG</option>
<option>UNIT</option>
</select>
</td>
<td>
<button type="button" class="add">Click</button>
</td>
</tr>
<tr>
<td>Item 1</td>
<td>
<select>
<option></option>
<option>BAG</option>
<option>UNIT</option>
</select>
</td>
<td>
<button type="button" class="add">Click</button>
</td>
</tr>
</tbody>
我的JavaScript:
oTable = $("#table1").dataTable({
"fnDrawCallback": function(oSetting){
$(".add").click(function(){
var data = oTable.row($(this).parents('tr') ).data();
console.log(data);
});
}
});
解决方案
我会使用 rowCallback
来定义绘制行时执行的回调。
然后可以通过$('select', row).val()
查询<select>
元素的值,如下图:
'rowCallback': function(row, data, index){
$('.add', row).click(function(){
console.log($('select', row).val());
});
}
演示
有关代码和演示,请参阅 this jsFiddle。
我已将示例包含在 jsFiddle 中。
我的问题是,当在同一行触发 "click" 按钮时,如何让行下拉选中的值。
这是我的 HTML:
<table id="table1">
<thead>
<tr>
<th>Item</th>
<th>UOM</th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>Item 1</td>
<td>
<select>
<option></option>
<option>BAG</option>
<option>UNIT</option>
</select>
</td>
<td>
<button type="button" class="add">Click</button>
</td>
</tr>
<tr>
<td>Item 1</td>
<td>
<select>
<option></option>
<option>BAG</option>
<option>UNIT</option>
</select>
</td>
<td>
<button type="button" class="add">Click</button>
</td>
</tr>
</tbody>
我的JavaScript:
oTable = $("#table1").dataTable({
"fnDrawCallback": function(oSetting){
$(".add").click(function(){
var data = oTable.row($(this).parents('tr') ).data();
console.log(data);
});
}
});
解决方案
我会使用 rowCallback
来定义绘制行时执行的回调。
然后可以通过$('select', row).val()
查询<select>
元素的值,如下图:
'rowCallback': function(row, data, index){
$('.add', row).click(function(){
console.log($('select', row).val());
});
}
演示
有关代码和演示,请参阅 this jsFiddle。