Заполните выпадающий список с помощью jquery из текстового поля - PullRequest
0 голосов
/ 01 апреля 2011

У меня есть текстовое поле с другим идентификатором, и я хочу заполнить это значение текстового поля в раскрывающемся списке Это javascript, который я использую для заполнения ... но это не работает .. Любое предложение будет оценено ... !! Я хочу сделать так: - http://viralpatel.net/blogs/demo/dynamic-combobox-listbox-dropdown-in-javascript.html

<SCRIPT language="javascript"> 
function addCombo() {
    var textb = $('#other').attr('id');
    var combo = $('#category').attr('id');
    alert(combo);

    var option = document.createElement("option");
    option.text = $('#other').val();
    alert(option.text);
    option.value = $('#other').val();
    try {
        combo.add(option, null); //Standard 
    }catch(error) {
        combo.add(option); // IE only
    }
    textb.value = "";
}
</SCRIPT>

Это код выпадающего списка

<td>Category</td>
                    <td><select class="size" id="category" name="category" width="30px">
                    <option width="30px" value="" selected="selected" >Select</option>
                    <option value="food">Food</option>
                        <option value="rent">Rent</option>
                        <option value="gas">Gas</option>
                        <option value="enter">Entertainment</option>
                        <option value="grocery">Grocery</option>
                        <option value="general">General</option>
                        <option value="other">Other</option></select></td>
                        </tr>
                        <tr>
                        <td>Other</td>
                        <td><input type="text" id="other" name="other"/></td>
                        <td><input type="button" data-role="button" value="Add" onclick="addCombo()"></td>
                        </tr>

Ответы [ 2 ]

2 голосов
/ 01 апреля 2011

Я верю, потому что

var textb = $('#other').attr('id');
var combo = $('#category').attr('id');

Разве вы не присваиваете идентификаторы этих элементов переменным, а не элементам?
Я имею в виду ... действительно ли textb является элементом ввода после выполнения этого кода, или это просто строка "other"?

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

var textb = $('#other');
var combo = $('#category');

Edit:

function addCombo() {
    var textb = document.getElementById("other");
    var combo = document.getElementById("category");

    var option = document.createElement("option");
    option.text = textb.value;
    option.value = textb.value;
    try {
        combo.add(option, null); //Standard 
    }catch(error) {
        combo.add(option); // IE only
    }
    textb.value = "";
}
1 голос
/ 01 апреля 2011

Поскольку вы уже используете jQuery:

function addCombo() {
    var optName = $("#other").attr("value");
    $('#category').append("<option value='"+ optName + "'>" + optName  + "</option>");
    $("#other").attr("value", "");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...