从mysql动态选择multiselect的选项

时间:2013-09-12 08:21:16

标签: php jquery mysql

我试图使用从数据库中检索到的数据自动选择多选框的值,但它不起作用...

这是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>

2 个答案:

答案 0 :(得分:0)

ajax是正确的,但您需要正确回显选择选项

在类别功能中试试这个:

foreach ($tags as $tag=>$val) {
echo "<option value=".$val." > ".$tag."</option>";

}

答案 1 :(得分:-1)

你只是缺少$(“#category”)中的引号.val();线。检查this进一步调整。

$("#category").val( "'" + <?php echo $tags; ?> + "'");

应该让它发挥作用