我在使用jQuery DataTables在表中加载下拉列表时遇到问题。有人可以帮我解决这个问题吗?
以下是我为加载下拉列表而编写的代码。
$('#grdCurrentOrder_PriceBook').dataTable({
"bServerSide": true,
"sAjaxSource": "../PriceBook/AjaxHandler",
"bProcessing": true,
"scrollY": 385,
"scrollX": true,
"scrollCollapse": true,
"jQueryUI": true,
"bJQueryUI": true,
"sDom": 'lfrtip',
"aoColumns": [{
"sName": "Item"
}, {
"sName": "ItemDesc"
}, {
"sName": "UM",
"mRender": function(sName) {
var data = {
'0': 'India',
'1': 'USA',
'2': 'Australia',
'3': 'Srilanka'
};
var s = $('<select id="dynamic_select" />');
for (var val in data) {
$('<option />', {
value: val,
text: data[val]
}).appendTo(s);
}
return '<td>' + s.appendTo('td:nth-child(3)') + '</td>';
return '<select id="dynamic_select" name="dynamic_select">\n\
<option id="0" value="">Select</option/>\n\
<option id="1" value="test.php">' + data[0] + '</option/>\n\ <option id="2" value="test2.php">' + data[1] + '</option/>\n\
<option id="31" value="test3.php">' + data[2] + '</option/>\n\
</select>';
},
}
],
"oLanguage": {
"sProcessing": 'Processing.....'
}
});
在添加select
标记时,我在某处做错了。它会在同一行中追加多次。
如果我对返回类型select
进行硬编码,则可以正常工作。
return '<td>' + s.appendTo('td:nth-child(3)') + '</td>';
return
'<select id="dynamic_select" name="dynamic_select">\n\
<option id="0" value="">Select</option/>\n\
<option id="1" value="test.php">' + data[0] + '</option/>\n\
<option id="2" value="test2.php">' + data[1] + '</option/>\n\
<option id="31" value="test3.php">' + data[2] + '</option/>\n\
</select>';