I'm using DataTable.js to showing the data and I have some <select>
option in my <tr>
and DataTable are showing the 10 frist row with default param and I have a change event with JQ. Here is my problem, the JQ .change()
event only work at the 10 frist row.
If I change the show option in the user view (no in the code source), it still work for the 10 frist row.
I tried to add onchange="changeEvent"
on the select element.. well it didnt show up in user display code source
$('select[name="type"]').change(function(){
var type_req = $(this).val();
var id = $(this).closest('tr').find('td#id_commande').html();
var action ="update";
var action_infos = "type_req";
console.log("change event active");
console.log(type_req);
console.log(id);
$.ajax({
type: "POST",
url: "../controllers/commandeController.private.php",
data:{id:id ,action : action ,action_infos : action_infos ,type : type_req},
success:function(){toastr.success("Modification commande réussi")},
error:function(){toastr.error("Modification commande impossible")},
});
});
I'm just trying the .change
active on all row even they are show up after by user changing show up option
[function showReqTypeAsOption]
function showReqTypeAsOption($array=array()){
$option="";
if(!$array == null){
if(empty($array['name'])){
$array['name']="type_bis";
}
if(!empty($array['current_type'])){
$select=1;
}
}
$res=getReqType();
foreach ($res as $ligne) {
if($select){
if($ligne['id'] == $array['current_type']){
$selected= "selected";
// $select=0;
}else{
$selected= "";
}
}
$option = $option."<option value='".$ligne['id']."' $selected > ".$ligne['type_name']." </option>";
};
$option='<select name="'.$array['name'].'" id="Req_type" > '.$option.' </select>';
return $option;
}
// DataTable
$(document).ready(function() {
$('#MyTable').DataTable();
$('#defaultTable2').DataTable();
$('#defaultTable3').DataTable();
$('#defaultTable4').DataTable();
});
$(function() {
$('#myTable').DataTable();
$("select[name='type']").change(function() {
var type_req = $(this).val();
var id = $(this).closest('tr').find('td.id_commande').html();
console.log("change event active");
console.log(type_req);
console.log(id);
});
});
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.19/css/jquery.dataTables.min.css">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.3.1.js" integrity="sha256-2Kok7MbOyxpgUVvAk/HJ2jigOSYS2auK4Pfzbm7uH60=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://code.jquery.com/jquery-2.2.4.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script>
<script type="text/javascript" charset="utf8" src="https://cdn.datatables.net/1.10.19/js/jquery.dataTables.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
<script src="scripts/script.js"></script>
<title></title>
</head>
<body>
<table id="MyTable" class="table table-bordered display" style="width:100%">
<thead>
<tr>
<th>ID Col</th>
<th>Select</th>
</tr>
</thead>
<tbody>
<tr>
<td class="id_commande">Row 1</td>
<td><select name="type" id="">
<option value="1"> option 1</option>
<option value="2"> option 2</option>
<option value="3"> option 3</option>
<option value="4"> option 4</option>
<option value="5"> option 5</option>
</select></td>
</tr>
<tr>
<td class="id_commande">Row 2</td>
<td><select name="type" id="">
<option value="1"> option 1</option>
<option value="2"> option 2</option>
<option value="3"> option 3</option>
<option value="4"> option 4</option>
<option value="5"> option 5</option>
</select></td>
</tr>
<tr>
<td class="id_commande">Row 3</td>
<td><select name="type" id="">
<option value="1"> option 1</option>
<option value="2"> option 2</option>
<option value="3"> option 3</option>
<option value="4"> option 4</option>
<option value="5"> option 5</option>
</select></td>
</tr>
<tr>
<td class="id_commande">Row 4</td>
<td><select name="type" id="">
<option value="1"> option 1</option>
<option value="2"> option 2</option>
<option value="3"> option 3</option>
<option value="4"> option 4</option>
<option value="5"> option 5</option>
</select></td>
</tr>
<tr>
<td class="id_commande">Row 5</td>
<td><select name="type" id="">
<option value="1"> option 1</option>
<option value="2"> option 2</option>
<option value="3"> option 3</option>
<option value="4"> option 4</option>
<option value="5"> option 5</option>
</select></td>
</tr>
<tr>
<td class="id_commande">Row 6</td>
<td><select name="type" id="">
<option value="1"> option 1</option>
<option value="2"> option 2</option>
<option value="3"> option 3</option>
<option value="4"> option 4</option>
<option value="5"> option 5</option>
</select></td>
</tr>
<tr>
<td class="id_commande">Row 7</td>
<td><select name="type" id="">
<option value="1"> option 1</option>
<option value="2"> option 2</option>
<option value="3"> option 3</option>
<option value="4"> option 4</option>
<option value="5"> option 5</option>
</select></td>
</tr>
<tr>
<td class="id_commande">Row 8</td>
<td><select name="type" id="">
<option value="1"> option 1</option>
<option value="2"> option 2</option>
<option value="3"> option 3</option>
<option value="4"> option 4</option>
<option value="5"> option 5</option>
</select></td>
</tr>
<tr>
<td class="id_commande">Row 9</td>
<td><select name="type" id="">
<option value="1"> option 1</option>
<option value="2"> option 2</option>
<option value="3"> option 3</option>
<option value="4"> option 4</option>
<option value="5"> option 5</option>
</select></td>
</tr>
<tr>
<td class="id_commande">Row 10</td>
<td><select name="type" id="">
<option value="1"> option 1</option>
<option value="2"> option 2</option>
<option value="3"> option 3</option>
<option value="4"> option 4</option>
<option value="5"> option 5</option>
</select></td>
</tr>
<tr>
<td class="id_commande">Row 11</td>
<td><select name="type" id="">
<option value="1"> option 1</option>
<option value="2"> option 2</option>
<option value="3"> option 3</option>
<option value="4"> option 4</option>
<option value="5"> option 5</option>
</select></td>
</tr>
<tr>
<td class="id_commande">Row 12</td>
<td><select name="type" id="">
<option value="1"> option 1</option>
<option value="2"> option 2</option>
<option value="3"> option 3</option>
<option value="4"> option 4</option>
<option value="5"> option 5</option>
</select></td>
</tr>
<tr>
<td class="id_commande">Row 13</td>
<td><select name="type" id="">
<option value="1"> option 1</option>
<option value="2"> option 2</option>
<option value="3"> option 3</option>
<option value="4"> option 4</option>
<option value="5"> option 5</option>
</select></td>
</tr>
<tr>
<td class="id_commande">Row 14</td>
<td><select name="type" id="">
<option value="1"> option 1</option>
<option value="2"> option 2</option>
<option value="3"> option 3</option>
<option value="4"> option 4</option>
<option value="5"> option 5</option>
</select></td>
</tr>
<tr>
<td class="id_commande">Row 15</td>
<td><select name="type" id="">
<option value="1"> option 1</option>
<option value="2"> option 2</option>
<option value="3"> option 3</option>
<option value="4"> option 4</option>
<option value="5"> option 5</option>
</select></td>
</tr>
<tr>
<td class="id_commande">Row 16</td>
<td><select name="type" id="">
<option value="1"> option 1</option>
<option value="2"> option 2</option>
<option value="3"> option 3</option>
<option value="4"> option 4</option>
<option value="5"> option 5</option>
</select></td>
</tr>
<tr>
<td class="id_commande">Row 17</td>
<td><select name="type" id="">
<option value="1"> option 1</option>
<option value="2"> option 2</option>
<option value="3"> option 3</option>
<option value="4"> option 4</option>
<option value="5"> option 5</option>
</select></td>
</tr>
<tr>
<td class="id_commande">Row 18</td>
<td><select name="type" id="">
<option value="1"> option 1</option>
<option value="2"> option 2</option>
<option value="3"> option 3</option>
<option value="4"> option 4</option>
<option value="5"> option 5</option>
</select></td>
</tr>
<tr>
<td class="id_commande">Row 19</td>
<td><select name="type" id="">
<option value="1"> option 1</option>
<option value="2"> option 2</option>
<option value="3"> option 3</option>
<option value="4"> option 4</option>
<option value="5"> option 5</option>
</select></td>
</tr>
<tr>
<td class="id_commande">Row 20</td>
<td><select name="type" id="">
<option value="1"> option 1</option>
<option value="2"> option 2</option>
<option value="3"> option 3</option>
<option value="4"> option 4</option>
<option value="5"> option 5</option>
</select></td>
</tr>
<tr>
<td class="id_commande">Row 21</td>
<td><select name="type" id="">
<option value="1"> option 1</option>
<option value="2"> option 2</option>
<option value="3"> option 3</option>
<option value="4"> option 4</option>
<option value="5"> option 5</option>
</select></td>
</tr>
<tr>
<td class="id_commande">Row 22</td>
<td><select name="type" id="">
<option value="1"> option 1</option>
<option value="2"> option 2</option>
<option value="3"> option 3</option>
<option value="4"> option 4</option>
<option value="5"> option 5</option>
</select></td>
</tr>
<tr>
<td class="id_commande">Row 23</td>
<td><select name="type" id="">
<option value="1"> option 1</option>
<option value="2"> option 2</option>
<option value="3"> option 3</option>
<option value="4"> option 4</option>
<option value="5"> option 5</option>
</select></td>
</tr>
<tr>
<td class="id_commande">Row 24</td>
<td><select name="type" id="">
<option value="1"> option 1</option>
<option value="2"> option 2</option>
<option value="3"> option 3</option>
<option value="4"> option 4</option>
<option value="5"> option 5</option>
</select></td>
</tr>
<tr>
<td class="id_commande">Row 25</td>
<td><select name="type" id="">
<option value="1"> option 1</option>
<option value="2"> option 2</option>
<option value="3"> option 3</option>
<option value="4"> option 4</option>
<option value="5"> option 5</option>
</select></td>
</tr>
<tr>
<td class="id_commande">Row 26</td>
<td><select name="type" id="">
<option value="1"> option 1</option>
<option value="2"> option 2</option>
<option value="3"> option 3</option>
<option value="4"> option 4</option>
<option value="5"> option 5</option>
</select></td>
</tr>
<tr>
<td class="id_commande">Row 27</td>
<td><select name="type" id="">
<option value="1"> option 1</option>
<option value="2"> option 2</option>
<option value="3"> option 3</option>
<option value="4"> option 4</option>
<option value="5"> option 5</option>
</select></td>
</tr>
<tr>
<td class="id_commande">Row 28</td>
<td><select name="type" id="">
<option value="1"> option 1</option>
<option value="2"> option 2</option>
<option value="3"> option 3</option>
<option value="4"> option 4</option>
<option value="5"> option 5</option>
</select></td>
</tr>
<tr>
<td class="id_commande">Row 29</td>
<td><select name="type" id="">
<option value="1"> option 1</option>
<option value="2"> option 2</option>
<option value="3"> option 3</option>
<option value="4"> option 4</option>
<option value="5"> option 5</option>
</select></td>
</tr>
<tr>
<td class="id_commande">Row 30</td>
<td><select name="type" id="">
<option value="1"> option 1</option>
<option value="2"> option 2</option>
<option value="3"> option 3</option>
<option value="4"> option 4</option>
<option value="5"> option 5</option>
</select></td>
</tr>
</tbody>
</table>
$("#tableId").on("change", "select[name='type'],function(){ }); and it didnt work
– WolfCode Feb 14 '19 at 14:54