请大家帮助我!
我有一个控制器中的项目列表,每个项目包含2个属性,它像一个包括2列的tabe:
|--ID--|--Value--|
| A | 2 |
| B | 4 |
| C | 5 |
| D | 8 |
我使用ViewBag将列表从控制器传递给javascript:
var Drinks = @Html.Raw(Json.Encode(ViewBag.Drinks));
我在视图中有一个Dropdown,它包含一个ID列表。
我有一个文本框,我需要通过下拉列表中选择的值自动填写。
viewbag和下拉列表中的列表不同! 下拉列表包含更多ID
示例:
$( '#下拉')VAL()= 'C';
搜索列表ID ='C'然后设置$('#Textbox')。val()='5';
感谢阅读!
答案 0 :(得分:0)
我不知道json对象的格式是什么,但是这样的事情可以帮助你继续前进:
var json = [
{ value: "A" },
{ value: "C" },
{ value: "E" },
{ value: "G" },
{ value: "I" }
];
$("#select").on("change", function () {
var dropDownList = $(this);
var selectedValue = dropDownList.val();
var selectedObject = json.find(v => v.value === selectedValue);
if (selectedObject !== null && selectedObject !== undefined) {
$("#textToUpdate").val(dropDownList.find("option:selected").text());
} else {
$("#textToUpdate").val("");
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="select">
<option value=""></option>
<option value="A">Drink 1</option>
<option value="B">Drink 2</option>
<option value="C">Drink 3</option>
<option value="D">Drink 4</option>
<option value="E">Drink 5</option>
<option value="F">Drink 6</option>
<option value="G">Drink 7</option>
<option value="H">Drink 8</option>
<option value="I">Drink 9</option>
<option value="J">Drink 10</option>
</select>
<input id="textToUpdate" type="text" value="This will be updated" />