我一直在尝试从数据库中提取数据并填写由Java脚本生成的下拉列表。然而,PHP代码似乎根本不起作用。 以下是我正在使用的代码段:
<script type="text/javascript">
$(document).ready( function () {$('#mainTable').dataTable({}).makeEditable({
"aoColumns": [
{
indicator: 'Saving Items...',
tooltip: 'Click to select Items',
loadtext: 'loading...',
type: 'select',
onblur: 'submit',
<?php
$item_set = get_all_items();
while($item = mysql_fetch_array($item_set)){
?>
data: "{'0':'Please select...', '1':'A'+' <? echo $item["item_desc"] ?> '}",
<?php
}
?>
sUpdateURL: function(value, settings){
alert("Custom function for posting results");
return value;
}
},
{
}
]
});
} );
我已经在一个简单的HTML表单中尝试了代码,它运行得很好。顺便说一下,我使用的是jquery可编辑数据表 http://code.google.com/p/jquery-datatables-editable/wiki/Overview
我只想用来自DB的数据填充选择菜单。任何帮助表示赞赏。
以下是生成的页面: 我是表格的第一列,下拉列表还必须包含来自DB的项目描述。
问候。
答案 0 :(得分:1)
查看您的HTML源代码。您会看到您有多条data
行。使用json_encode
将数组转换为Json,而不是尝试将它们串在一起。
<?php
$item_set = get_all_items();
while($item = mysql_fetch_array($item_set)){
$items[] = $item['item_desc'];
}
?>
data: <?php echo json_encode($items); ?>,
答案 1 :(得分:0)
看起来你在错误的地方循环。您的循环将多次创建“数据”属性。也许你想要这个:
onblur: 'submit',
data: "{'0':'Please select...', <?php
$item_set = get_all_items();
$count = 1;
while($item = mysql_fetch_array($item_set)){
echo "'".$count."':"
echo "'".$item["item_desc"]."',";
}?> }",
sUpdateURL: function(value, settings){...