0

我正在尝试在 jquery 中生成一个带有基于 php 数组的选定选项的多选列表。我似乎无法让它工作,这是我的代码:

我的选择列表:

<select name="modules[]" id="modules" class="inputbox" size="10" multiple="multiple">
  <option value="1">Module 01</option>
  <option value="2">Module 02</option>
  <option value="3">Module 03</option>
</select>

我的 PHP/JQuery(尝试):

<script type="text/javascript" language="javascript">
<?php 
$modules = explode(';',$row->modules);
if (is_array($modules)) {
    foreach($modules as $moduleID) { 
    ?>
    jQuery("#modules").val("<?php echo $moduleID; ?>");
    <?php 
    };
} else { 
?>
jQuery("#modules").val("<?php echo $row->modules; ?>");
<?php 
};
?>
</script>

看起来像(纯 jquery):

<script type="text/javascript" language="javascript">
  jQuery("#modules").val("3");
  jQuery("#modules").val("1");
</script>

这是我的 php 数组(被爆炸后):

Array
(
    [0] => 3
    [1] => 1
)
4

2 回答 2

3

您需要将数组传递给 val():

<script type="text/javascript">
  jQuery("#modules").val(["3","1"]);
</script>

来自jQuery 文档

此方法通常用于设置表单字段的值。对于<select multiple="multiple">元素,<option>可以通过传入一个数组来选择多个s。

于 2010-11-08T09:36:02.070 回答
1

对于禁用 Javascript 的用户,您是否有某种替代方案?这并不总是合适的,并且这将影响的用户数量正在不断减少(手机用户可能是当今最大的比例),但 IMO 仍然值得付出努力。

于 2010-11-08T09:55:15.833 回答