2010-01-24 211 views
0

我試圖用jQuery將選擇列表添加到div表中,完成後,我想選擇列表的特定選項,我試圖這樣:Jquery:克隆選擇列表並選擇一個選項的值

// my hidden option list 
<div style="display:none;"> 
<select class="option_list"> 
    <option value="male">Male</option> 
    <option value="female">Female</option> 
    <option value="none">Unknown</option> 
</select> 
</div> 

<div id="my_table"> 
    <div> 
     <div>John</div> 
     <div>25</div> 
     <div></div> 
    </div> 
    <div> 
     <div>Emy</div> 
     <div>22</div> 
     <div></div> 
    </div> 
    <div> 
     <div>Sarah</div> 
     <div>28</div> 
     <div></div> 
    </div> 
</div> 

// $(".option_list") is hidden in HTML page, I clone and append it to my div table row 
$(".option_list") 
     .clone() 
     .appendTo ("#my_table > div > div:last-child") 
     .attr ("name", "a_dynamic_name_for_php_form") 
     .find ("option[value=none]").selected = true; 

回答

4

試試這個:

$(".option_list") 
    .clone() 
    .appendTo ("#my_table > div > div:last-child") 
    .attr ("name", "a_dynamic_name_for_php_form") 
    .find ("option[value=none]").attr("selected", "true"); 

請注意,在最後一行的變化。

+0

感謝您的幫助,它的工作原理 – vitto 2010-01-24 13:22:56

0

你應該寫.val('none')val方法將找到與value<option>。 (或者,做不到這一點,該文本)

+0

我已經試過,但似乎將所有的選項值「無」 – vitto 2010-01-24 13:19:57

+1

當然你需要在'select'元素上執行,而不是在所有'option'元素上執行。 – BalusC 2010-01-24 13:22:38

-1

爲什麼克隆它?簡單,因爲它可能是,我會定義隱藏的HTML部分作爲串並簡單地添加他們:

var add = '<select>' + 
      ' <option value="one">one</option>' + 
      ' <option two ... '+ 
      '</select>'; 
$(something).appendTo(add); 

有點髒,但... :) - (你甚至可以定義與ASP/PHP的那些隱藏的部分,所以你不必寫每一行)

編輯:已經回答了...

相關問題