研究了但我无法找到我的解决方案。我有选择的一摞书。
<select name="book" id="book">
<option value="1">fasion</option>
<option value="2">games</option>
<option value="3">sports</option>
</select>
我正在发送带有jquery帖子的book id并获取记录,并在数据库的#slcCatList id中的另一个选择框中填充它的类别。
$('#book').change(getDropdownLoads);
function getDropdownLoads() {
var bid = $(this).val();
$.post('fetchdata.php', { master_book_id : bid }, populateDropdown, 'html');
}
function populateDropdown(data) {
if (data != 'error') {
$('#slcCatList').html(data);
}
}
fetchdata.php针对选择框#slcCatList的此查询返回结果 工作良好。
select * from books where id = $bid" // which also has author_name
<select id="slcCatList ">
</select>
我需要的是,同样我想使用相同的帖子请求填充另一个选择框#authorName来对抗同一个查询。
<select id="authorName ">
// fetched author_name
</select>
我怎么能这样做?
答案 0 :(得分:1)
假设你在后端使用mysql。我提供了一些代码,有一些假设的变量 -
通过使用json,您可以编写响应来分隔两个选择标记。
<强> PHP 强>
//---
$dropDown1='<select id="slcCatList ">';
$dropDown2='<select id="authorName">';
$q="select * from books where id = $bid" ;
$rs=mysql_query($q);
while($row=mysql_fetch_row($rs,MYSQL_BOTH)
{
$dropDown1 .='<option>'.$row['category'].'</option>';
$dropDown2 .='<option>'.$row['name'].'</option>';
}
$dropDown1 .='</select >';
$dropDown2 .='</select >';
$result=array("category"=>$dropDown1,"name"=>$dropDown2);
echo json_encode($result);
在客户端,我表示您可能需要的功能定义。你必须创建两个div来包装你的两个下拉菜单说(slcCatListWrapper,authorNameWrapper)
<强> JAVASCRIPT 强>
function populateDropdown(data) {
if (data != 'error') {
var obj=JSON.parse(data);
$('#slcCatListWrapper').html(obj.category);
$('#authorNameWrapper').html(obj.name);
}
}