[英]Datatables and dropdown select in row jQuery
I'm using datatables.net's script and have a dropdown select in one row there I can select a status. 我正在使用datatables.net的脚本,并在一行中选择一个下拉菜单,在那里我可以选择状态。
I'm using this code: 我正在使用此代码:
<script>
$(function () {
$('#select-first').on('change', function () {
var options = $(this).find('option:selected').val();
var ids = "<?php echo $ord['order_id']; ?>";
var selecto = 'id=' + ids + '&option=' + options;
$.ajax({
type: "POST",
url: "update_status.php",
data: selecto,
cache: false,
success: function (html) {
alert("yes");
}
});
});
});
</script>
<select id="select-first" name="status" class="ui compact dropdown">
<option value="1">Behandlas</option>
<option value="2">Bearbetas</option>
<option value="3">Nekades</option>
<option value="4">Klar</option>
<option value="5">Klar/Betald</option>
</select>
It won't work when I chose page 2 in datatables script. 当我在datatables脚本中选择第2页时,它将不起作用。
When Datable load, it removes the extra HTML that is not currently displayed. 加载Datable时,它将删除当前未显示的多余HTML。 So if you want to attach event you have multiple options : 因此,如果您要附加事件,则可以有多种选择:
1. Attach the events before you call the function datatable 1.在调用函数数据表之前附加事件
$('.select-first').on('change', function(e) {
alert("hej");
var options = $(this).find('option:selected').val();
var ids = "<?php echo $ord['order_id']; ?>";
var selecto = 'id='+ ids + '&option='+ options;
});
$('#myTable').DataTable();
2. use the delegate function : 2.使用委托函数:
$('#myTable').DataTable();
$('#myTable').delegate('.select-first', 'change', function () {
alert("hej");
var options = $(this).find('option:selected').val();
var ids = "<?php echo $ord['order_id']; ?>";
var selecto = 'id='+ ids + '&option='+ options;
});
3. use the fnDrawCallback 3.使用fnDrawCallback
$('#myTable').DataTable({"fnDrawCallback": function( oSettings ) {
$('.select-first').on('change', function(e) {
alert("hej");
var options = $(this).find('option:selected').val();
var ids = "<?php echo $ord['order_id']; ?>";
var selecto = 'id='+ ids + '&option='+ options;
});
}});
That should be enough way to put it 那应该足够了
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.