单击数据表行中下拉列表中的选项时调用 js 函数并发送一些数据
Call js function and send some data when click an option from dropdown in Datatable row
我正在寻找在单击我的下拉列表后调用 js 函数。该代码有效,当我单击它时,它会调用 myFunction。我的问题是我需要将数据表行作为参数添加到 myFunction 中。
我的错误:ReferenceError: Can't find variable: meta
我是 javascript 和 html 语言的菜鸟。
<script>
function myFunction(selectObject, row) {
var value = selectObject.value;
alert("Actualización Status: " + value + row);
}
</script>
<script>
var json={{ posts_list | safe }};
$(document).ready(function() {
var table = $('#posts_table').DataTable( {
dom: 'Bfrtip',
buttons: [
'copy', 'csv', 'excel', 'print'
],
"scrollX": true,
data: json.data,
columns:[
{defaultContent: ""},
{data: "_id"},
{
"data": "status",
"render": function(data, type, row, meta){
if (data == 'no_denunciado') {
data = '<select id="status" onchange="myFunction(this, meta.row)">' +
'<option value="no_denunciado">' + data + '</option>' +
'<option value="nuevo">Nuevo</option>' +
'<option value="en_gestion">En Gestion</option>' +
'<option value="baja_edenor">Baja</option>' +
'</select>';
}
meta.row 超出了您需要放入数据的函数范围,而不是变量 meta.data,因为它会像这样超出范围。
改变
data = '<select id="status" onchange="myFunction(this, meta.row)>'
至
data = '<select id="status" onchange="myFunction(this, \''+meta.row+'\')">'
从聊天中编辑我看到你想串一个对象我写了一个快速函数
function ObjectToString(myObject){
var keys = Object.keys(myObject);
var returnedString="";
keys.forEach(key=>{returnedString+="["+key+":"+myObject[key]+"]";});
return returnedString;
}
我正在寻找在单击我的下拉列表后调用 js 函数。该代码有效,当我单击它时,它会调用 myFunction。我的问题是我需要将数据表行作为参数添加到 myFunction 中。
我的错误:ReferenceError: Can't find variable: meta
我是 javascript 和 html 语言的菜鸟。
<script>
function myFunction(selectObject, row) {
var value = selectObject.value;
alert("Actualización Status: " + value + row);
}
</script>
<script>
var json={{ posts_list | safe }};
$(document).ready(function() {
var table = $('#posts_table').DataTable( {
dom: 'Bfrtip',
buttons: [
'copy', 'csv', 'excel', 'print'
],
"scrollX": true,
data: json.data,
columns:[
{defaultContent: ""},
{data: "_id"},
{
"data": "status",
"render": function(data, type, row, meta){
if (data == 'no_denunciado') {
data = '<select id="status" onchange="myFunction(this, meta.row)">' +
'<option value="no_denunciado">' + data + '</option>' +
'<option value="nuevo">Nuevo</option>' +
'<option value="en_gestion">En Gestion</option>' +
'<option value="baja_edenor">Baja</option>' +
'</select>';
}
meta.row 超出了您需要放入数据的函数范围,而不是变量 meta.data,因为它会像这样超出范围。
改变
data = '<select id="status" onchange="myFunction(this, meta.row)>'
至
data = '<select id="status" onchange="myFunction(this, \''+meta.row+'\')">'
从聊天中编辑我看到你想串一个对象我写了一个快速函数
function ObjectToString(myObject){
var keys = Object.keys(myObject);
var returnedString="";
keys.forEach(key=>{returnedString+="["+key+":"+myObject[key]+"]";});
return returnedString;
}