2010-11-08 26 views
0

我試圖用基於php數組的jquery中的選定選項生成多個選擇列表。我似乎無法得到它的工作,這是我的代碼:jquery/php從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 
) 

回答

3

你需要一個數組傳遞到VAL():

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

jQuery docs

此方法通常用於設置表單字段的值。對於<select multiple="multiple">元素,可以通過傳入數組來選擇多個<option>

+0

非常感謝你,會玩這個和PHP :) – SoulieBaby 2010-11-08 09:40:49

1

對於禁用JavaScript的用戶,您有其他選擇嗎?這並不總是合適的,而且這將影響的用戶數量在不斷下降(手機用戶可能是當今最大的比例),但IMO仍然值得努力。

+0

這個項目的這個部分是在網站的後端,所以會有很少人訪問這一方的東西,但會記住時在未來使用jquery,謝謝:) – SoulieBaby 2010-11-09 01:15:51

+0

啊,那很好。我有各種各樣的後端位,這些位肯定不會退化:)我確定事情正常降級的首選方法是考慮理想的接口,然後研究如何使用標準HTML顯示所有必需的內容,然後用jQuery添加鈴聲和哨聲。 – 2010-11-09 10:55:45

相關問題