【发布时间】:2017-04-10 11:28:48
【问题描述】:
我正在使用 AJAX 从我的数据库中获取一些数据,在 AJAX 成功之后,我尝试通过 JavaScript 创建 <option> 标记,但它似乎不起作用,并且 DOM 没有任何反应,我不知道为什么?
$("#clientCombo").on("change", function () {
$.ajax({
url: "/Account/GetBrands",
data: { clientID: $("#clientCombo").val() },
dataType: 'json',
success: function (result) {
if (result.error == undefined) {
var brandList = result;
var brandCombo = $('#brandCombo');
var brandOption = $("<option value=\"none\">"+"someString+"+"</option>");
brandCombo.html(brandOption);
for (var i = 0; i < brandList.length; i++) {
brandCombo+=("<option value=\"" + brandList[i].brandID + ">" + brandList[i].brandName + "</option>");
}
}
else {
$("#brandCombo").html("<option value=\"none\">" + "choose+" + "</option>");
}
}
});
});
<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.2.0.min.js"></script>
<script src="https://cdn.quilljs.com/1.0.0/quill.js"></script>
<script src="https://code.jquery.com/ui/1.11.4/jquery-ui.min.js"></script>
<script src="//code.jquery.com/jquery-1.12.0.min.js"></script>
<div class="input-group">
<label class="inputLabel">name</label>
<select id="clientCombo" class="selectpicker">
<option value="none">choose</option>
@foreach (var clientItem in Model.clientList)
{
<option value="@clientItem.ID">@clientItem.ClientName</option>
}
</select>
</div>
<div class="input-group">
<label class="inputLabel">brand</label>
<select id="brandCombo" name="MotagNumber" class="selectpicker">
</select>
</div>
我正在使用这个脚本:
<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.2.0.min.js"></script>
<script src="https://cdn.quilljs.com/1.0.0/quill.js"></script>
<script src="https://code.jquery.com/ui/1.11.4/jquery-ui.min.js"></script>
<script src="//code.jquery.com/jquery-1.12.0.min.js"></script>
【问题讨论】:
-
不要使用 html() 方法或 "+=" 运算符。仅使用 append(htmlString) 方法。例如 $("#brandCombo").append('');
标签: javascript jquery html asp.net razor