将控制器中的列表项传递给javascript函数并在asp.net mvc中搜索项目?

时间:2017-03-19 09:21:11

标签: javascript c# jquery asp.net-mvc

请大家帮助我!

我有一个控制器中的项目列表,每个项目包含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';

感谢阅读!

1 个答案:

答案 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" />