0

我正在尝试使用 jQuery 将选择选项列表附加到 div 表中,完成此操作后,我想选择列表的特定选项,我正在尝试这样的事情:

// 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

3 回答 3

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");

注意最后一行的变化。

于 2010-01-24T12:58:21.023 回答
0

你应该写.val('none')。该val方法将找到<option>with that value。(或者,失败了,那个文本)

于 2010-01-24T12:50:49.297 回答
-1

为什么要克隆它?尽可能简单,我会将隐藏的 html 部分定义为字符串并简单地附加它们:

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

有点脏,但是...... :) - (你甚至可以用 asp/php 定义那些隐藏的部分,所以你不必写每一行)

编辑:已经回答...

于 2010-01-24T13:19:15.183 回答