JQuery отображать входные данные внутри выберите по клику - PullRequest
0 голосов
/ 20 октября 2011

У меня есть ввод текста с помощью кнопки.Когда я заполняю ввод и нажимаю кнопку, я хочу добавить эту информацию в выбор.Пожалуйста, кто-нибудь может помочь, я нигде не могу найти пример.

Input & button
<input id="new_menu_name" type="text" name="new_menu_name" placeholder="Please enter your menu title">
<input class="add_menu_item" name="add_menu_item" value="Add" type="button">

Select
<select name="menu_items" id="menu_items" size="8" multiple="multiple" style="height:200px; width:250px;">      
</select>

Я пытался использовать этот скрипт, но безуспешно

$(document).ready(function() {
    $(".add_menu_item").click(function(){
 $('#menu_items').
      append($("<option></option>").
      attr("value").
      text(value)); 
    });

JSfiddle http://jsfiddle.net/clintongreen/XDqQL/

Ответы [ 3 ]

1 голос
/ 20 октября 2011

изменить это на attr("value", value).attr("value") возвращает значение атрибута.

1 голос
/ 20 октября 2011

Когда вы вызываете attr, вы фактически не устанавливаете значение: вы извлекаете текущее значение атрибута value.Вы должны использовать функцию val для установки значения:

$(".add_menu_item").click(function () {
    $('#menu_items').append(
        $("<option></option>").val(value).text(value)
    );
});

Теперь, когда я увидел ваш полный код, ясно, что другая проблема заключается в том, что выне устанавливаем переменную value.Я думаю, что вы, вероятно, хотите что-то вроде this :

$(".add_menu_item").click(function () {
    var value = $(this).prev().val();
    $('#menu_items').append(
        $("<option></option>").val(value).text(value)
    );
});

(NB также, что я изменил скрипту, чтобы использовать jQuery, а не Mootools.)

1 голос
/ 20 октября 2011

попробуйте изменить attr("value").text(value) на attr("value",value)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...