我试图使用从数据库中检索到的数据自动选择多选框的值,但它不起作用...
这是html multiselect的代码
<select name="category" id="category" multiple="multiple" class="select validate[required]" style="width:100%">
</select>
在页面加载时,我从数据库(mysql)动态加载多选的选项
$.ajax({
url:'search/category.php',
type:'POST',
data:{cat_id:1}, //1 means jobs category
async:true,
success: function(data){
$("#category").html(data);
}
});
但是如果我必须在multiselect中自动选择值,那么它不起作用
<?php
$qry ="select tags from posts where id='$id'";
$res = mysqli_query($con,$qry);
$row = mysqli_fetch_assoc($res);
$tags = $row['tags'];
?>
<script>
$(function(){
$("#category").val(<?php echo $tags; ?>); //example: .val(3);
}
</script>
答案 0 :(得分:0)
ajax是正确的,但您需要正确回显选择选项
在类别功能中试试这个:
foreach ($tags as $tag=>$val) {
echo "<option value=".$val." > ".$tag."</option>";
}
答案 1 :(得分:-1)
你只是缺少$(“#category”)中的引号.val();线。检查this进一步调整。
$("#category").val( "'" + <?php echo $tags; ?> + "'");
应该让它发挥作用