Jquery无法附加选项中的选项

时间:2018-04-03 12:00:01

标签: javascript jquery select

我在<option>中附加<select>时遇到问题,因为我的情况是如果用户想要添加他们自己的选项,我正在显示所有列表,所以我打开模型并从用户那里获取输入

问题是我无法使用指定的选择选项

附加用户输入

因为我已经添加了更多选项

HTML:

<li style="width: 27%;">
    <label class="select">
        <span style="display: inline-block;padding: 10px 0;">Institute:</span>
        <select name="institute[]" id="institue1" onchange="Myinsi(this.value, 'institue1')"  class="validate[required] institute" style="width: 65%;float: right;">
            <option value="">Select</option>
            <?php
            $sel = "select * from institute where `status`= 'Y'";

            $res = mysql_query($sel);
            while ($row = mysql_fetch_assoc($res)) {
                echo "<option value='{$row['title']}'>{$row['title']}</option>\n";
            }
            echo'<option value="ShowOtherIns" id="ShowOtherIns">Other</option>';
            ?>
        </select>
        <i></i>
    </label>
</li>

jQuery代码:

<script>
    function Myinsi(value, id) {
        console.log(value + '----' + id);
        var index = $(id + ' option').length + 1;
        if (value == "ShowOtherIns") {
            $('#OtherIns').modal("show");
            document.getElementById("btnSave").onclick = function () {
                var NewText = document.getElementById('OtherInsTextID').value;
                if (NewText = !'') {
                    var element = document.getElementById(id); // assuming ul exists
                    $(id).append('<option value="' + NewText + '" selected="selected">' + NewText + '</option>');
                    $('#OtherIns').modal("hide");
                } else {
                    console.log("text = exibir menu");
                }
            };
        }
    }

</script>

我也附加了我的屏幕拍摄

enter image description here

1 个答案:

答案 0 :(得分:0)

Jquery选择器不正确。你必须写&#34;#&#34;后跟你的html元素的id。在var index = $(id + ' option').length + 1;行中,您应该写var index = $('#'+id + ' option').length + 1;

同样在$(id).append('<option value="' + NewText + '" selected="selected">' + NewText + '</option>');行中,你应该写$('#'+id).append('<option value="' + NewText + '" selected="selected">' + NewText + '</option>');