如何更改更改事件下拉列表的值?

时间:2017-06-08 07:10:29

标签: javascript ajax asp.net-mvc drop-down-menu

我有两个来自同一个表的下拉列表。一个包含员工代码,第二个包含员工姓名。如果我更改员工代码,那么其他下拉列表应显示与代码相关的员工姓名,如果我更改员工姓名,则应显示代码。我能够成功检索值,但我无法在下拉列表中显示值。以下是我的代码:

$("select#code").on("change", function () {
         getNameFunc($(this).val())
});

$("select#empName").on("change", function () {
         getCodeFunc($(this).val())
});

function getNameFunc(value) {
   $.ajax({
        url: '@Url.Action("getName", "Employees")',
        data: { id: value },
        cache: false,
        type: "GET",
        success: function (data) {
               $("#empName").val(data.Name);
        }
    });
}

function getCodeFunc(value) {
     $.ajax({
          url: '@Url.Action("getCode", "Employees")',
          data: { id: value },
          cache: false,
          type: "GET",
          success: function (data) {
               $("#code").val(data.Code);
          }
    });
}

我的下拉列表:

@Html.DropDownList("EmpCode", null, htmlAttributes: new { id = "code" })
@Html.DropDownList("EmpName", null, htmlAttributes: new { id = "empName" })

在提醒功能中,我获得了预期值,但问题是将其显示在下拉列表中。

2 个答案:

答案 0 :(得分:1)

简单,试一试,让我假设选择渲染为,这是虚拟测试,最好的approch你必须保存值= EmpID

Emp Name下拉列表

<select id="name">
<option value="EmpID1"> Name 1 </option>
<option value="EmpID2"> Name 2 </option>
</select>

Emp Code下拉列表

<select id="code">
 <option value="EmpID1"> Code 1 </option>
 <option value="EmpID2"> Code 2 </option>
 </select>

在你的ajax中,如果你想要更改/加载名称前面的下拉列表

按值设置的值

  $('#name').val(data.EmpID1)

Similarly reverse

$('#code').val(data.EmpID1)

按文字/名称设定的值

$('#name option:selected').text(data.Name)

答案 1 :(得分:0)

检查此代码。你可能会从中获得帮助。 请注意,我没有在此代码中实现ajax调用。

=$b_id or 'r_id'=$b_id);
 <android.support.v4.widget.NestedScrollView
                android:layout_width="match_parent"
                android:layout_height="match_parent">
            <co.moonmonkeylabs.realmrecyclerview.RealmRecyclerView
                android:id="@+id/appointmentsList"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                app:rrvEmptyLayoutId="@layout/empty_view"
                app:rrvLayoutType="LinearLayout"
                app:rrvSwipeToDelete="true" />
 </android.support.v4.widget.NestedScrollView>