2015-12-28 4 views
-2

Я хочу добавить элемент option к моему select который имеет значение, предоставленное вводом #quantite. Я хочу, чтобы при нажатии кнопки функция GetValues() добавляет элемент. Я попытался это:Как добавить элемент выбора в этот список?

<input class="text" id="quantite" type="text" name="quantité" /> 
<select id="multiSelect" size="5" multiple="multiple"> 
    <option value="o1">Option 1</option> 
    <option value="o2">Option 2</option> 
    <option value="o3">Option 3</option> 
    <option value="o4">Option 4</option> 
    <option value="o5">Option 5</option> 
    <option value="o6">Option 6</option> 
</select> 
<br /> 
<button id="btnGetValues" onclick="GetValues()">Get Values</button> 
function GetValues() { 
    // Get select object 
    var myList = document.getElementById("multiSelect"); 

    //Create array to store selected values 
    var Selectedelement = $("#quantite").val() ; 

    myList.add(Selectedelement); 
} 
} 

Я получаю сообщение об ошибке в JavaScript в mylist.add(Selectedelement);

+0

Попробуйте appendChild ("<значение опции = 'abc'> abc") – Rajesh

+1

Где задано 'SelectedUsers'? –

ответ

1

document.getElementById возвращает DOM элемента. Вы должны использовать объект jQuery. И вы должны также использовать append вместо add, чтобы добавить новый элемент. Попробуйте следующее.

function GetValues() { 
    var myList = $("#multiSelect"); 
    var Selectedelement = $("#quantite").val(); 

    myList.append('<option value='+Selectedelement+'>'+ Selectedelement +'</option>');     
} 
+0

Я предполагаю, что вы не тестировали это, так как оно просто добавляет текстовое значение к элементу 'select', а не' option'. Кроме того, что такое 'SelectedUsers'? –

+0

Вы правы, я не тестировал это раньше. Я обновил свой ответ. Благодарю. +1 @RoryMcCrossan – Azim

+0

Как я могу отобразить в элементе здесь после добавления –

2

Вы можете создать новый option элемент и использовать appendChild(), чтобы добавить его в select. Попробуйте это:

function GetValues() { 
    var myList = document.getElementById("multiSelect"); 
    var option = document.createElement('option'); 
    option.value = document.getElementById('quantite').value; 
    option.innerText = 'New Option'; 
    myList.appendChild(option); 
} 

Example fiddle

Или чисто JQuery решения:

<button id="btnGetValues">Get Values</button> 
$('#btnGetValues').click(function() { 
    $('#multiSelect').append('<option value="' + $('#quantite').val() + '">New option</option>'); 
}); 

Example fiddle

0

Вам нужно йо добавить опцию:

$("#multiSelect").append('<option value="anyValue"> '+$("#quantiCommande").val()+' </option>'); 
+0

@rcode см. обновленный ответ. – void

+0

Как я могу отображать содержимое, когда я выбираю один из этих списков:

Смежные вопросы