我需要更改所选的'使用javascript在选择对象中使用html选项元素的属性。
我已经尝试过这个:Solution
这就是我所拥有的:
.cshtml
<div class="form-group form-group-default" id="divStateEUA">
<label>Estado</label>
<select id="listStateEUA" name="listStateEUA" data-init-plugin="select2" style="width: 100%">
@foreach (var state in ViewBag.EUAStates)
{
<option>@state</option>
}
</select>
</div>
的javascript
<script>
$(document)
.ready(function () {
CheckState();
});
function CheckState() {
if (selectedText == 'Estados Unidos') {
var element = document.getElementById('listStateEUA');
element.value = 'Chicago';
}
}
</script>
渲染html:
仍然无法正常工作。有什么想法吗?
答案 0 :(得分:2)
value
的{{1}}标记中缺少option
个属性。
修改您的剃刀代码,使其在select
标记中具有value
属性,以便您可以根据值更改组合框选择:
option
现在在您的jquery代码中,您应该能够:
@foreach (var state in ViewBag.EUAStates)
{
<option value="@state">@state</option>
}
答案 1 :(得分:1)
您必须为选项提供值。你的JS正试图将选择设置为&#34; Chicago&#34;值,但不存在。 <option>Chicago</option>
vs <option value="Chicago">Chicago</option>
function CheckState() {
var element = document.getElementById('listStateEUA');
element.value = 'chicago';
}
CheckState();
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label>Estado</label>
<select id="listStateEUA" name="listStateEUA">
<option value="nevada">nevada</option>
<option value="chicago">chicago</option>
<option value="arizona">arizona</option>
</select>
&#13;
答案 2 :(得分:0)
Mike McCaughan建议(非常感谢),因为我正在使用select2插件,所以它有不同的方式来获取和设置值。
$("#select").select2("val"); //get the value
$("#select").select2("val", "CA"); //set the value