当我更改dropdownlistfor的值时,我正在使用ASP MVC 3并且当前在我的文本框中获取新数据时遇到问题。
<div id="BagelProductEdit">
<h2>Bagel</h2>
@Html.DropDownListFor(x => x.SelectedOptionBagel, Model.LstBagelsList, new { @class = "width200", @onchange = "refreshTextBoxFors()" })
<br />
<table>
<tr>
<td>Bagelnaam</td><td> @Html.TextBoxFor(x => x.LstBagels.ElementAt(x.SelectedOptionBagel).Name,new { Name ="txtEditBagelName" })</td>
</tr>
<tr>
<td>Vertaling</td><td> @Html.TextBoxFor(x => x.LstBagels.ElementAt(x.SelectedOptionBagel).NameFr,new { Name ="txtEditBagelNameFr" })</td>
</tr>
<tr>
<td>Prijs</td>
<td> @Html.TextBoxFor(x => x.LstBagels.ElementAt(x.SelectedOptionBagel).Price,new { Name ="txtEditBagelPrice" })</td>
</tr>
</table>
<input class="button widthorderProduct" type="submit" name="BtnEditBagel" value="Edit een bagel" />
</div>
当我的下拉列表的值发生变化时,如何在文本框中获取刷新值?
答案 0 :(得分:0)
您可以在该下拉列表中添加ID:
@Html.DropDownListFor(x => x.SelectedOptionBagel, Model.LstBagelsList, new { @class = "width200", @onchange = "refreshTextBoxFors()", id= "myDDL" })
然后,在refreshTextBoxFors()
中,您可以通过这种方式访问下拉列表选择的值(假设您使用的是 jQuery ):
$("#myDDL").val();
如果您需要所选文本(不是值):
$("#myDDL :selected").text();
如果您没有使用jQuery,但是使用简单的 Javascript ,您可以使用它来获取DropDownList中的选定值:
var e = document.getElementById("myDDL");
var selValue = e.options[e.selectedIndex].value;
编辑 - 设置文本框的数据:
您可以选择DDL选择值:
if(selValue == '1'){
$('#test').val('here is the value you want to put');
}
else{
$('#test').val('other value');
}
现在,在评论的示例中,您似乎有一个TextBoxFors列表。因此,如果您将一个id放在循环中,它会将其设置为所有文本框。您可以改为@class = "test"
并使用$('.test')
代替$('#test')
访问文本框。