Jquery: клонирование списка выбора и выбор опции по значению - PullRequest
0 голосов
/ 24 января 2010

Я пытаюсь добавить список опций выбора в таблицу 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;

Ответы [ 3 ]

4 голосов
/ 24 января 2010

Попробуйте это:

$(".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 голосов
/ 24 января 2010

Зачем это клонировать? Как бы просто это ни было, я бы определил скрытые части html как строку и просто добавил их:

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

Немного грязно, но ... :) - (вы можете даже определить эти скрытые части с помощью asp / php, поэтому вам не нужно писать каждую строку)

Редактировать : уже ответили ...

0 голосов
/ 24 января 2010

Вы должны написать .val('none'). Метод val найдет <option> с этим value. (Или, если это не так, этот текст)

...