我在<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>
我也附加了我的屏幕拍摄
答案 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>');