加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 带.Net MVC的JQuery UI自动完成:如何在选中时显

发布时间:2020-12-16 03:33:07 所属栏目:asp.Net 来源:网络整理
导读:我已经实现了自动完成功能,在选择项目后,我在文本框中遇到标签与值的问题.当我输入邮政编码时,我会在下拉列表中看到标签: 但是在我选择一个,而不是显示在文本框中的标签后,将显示值(即需要保存到数据库的ID): 如何在选择标签后仍然显示标签,但是当保存表单
我已经实现了自动完成功能,在选择项目后,我在文本框中遇到标签与值的问题.当我输入邮政编码时,我会在下拉列表中看到标签:

但是在我选择一个,而不是显示在文本框中的标签后,将显示值(即需要保存到数据库的ID):

如何在选择标签后仍然显示标签,但是当保存表单时,它会传递字段的ZipCodeID?

这是我的Controller方法:

public JsonResult FindZipCode(string term)
    {
        VetClinicDataContext db = new VetClinicDataContext();

        var zipCodes = from c in db.ZipCodes
                       where c.ZipCodeNum.ToString().StartsWith(term)
                       select new { value = c.ZipCodeID,label = c.ZipCodeNum};

        return this.Json(zipCodes,JsonRequestBehavior.AllowGet);
    }

这是我的标记:

<script type="text/javascript">
    $(document).ready(function() {
        $("#ZipCodeID").autocomplete({
                  source: '<%= Url.Action("FindZipCode","Customers") %>',});
    });
</script>

<div class="ui-widget"><input type="text" name="ZipCodeID" id="ZipCodeID" /></div>

编辑:这是我的最终工作代码:

控制器:

public JsonResult FindZipCode(string term)
    {
        VetClinicDataContext db = new VetClinicDataContext();

        var zipCodes = from c in db.ZipCodes
                       where c.ZipCodeNum.ToString().StartsWith(term)
                       select new { value = c.ZipCodeID,JsonRequestBehavior.AllowGet);
    }

和标记:

<script type="text/javascript">
    $(document).ready(function() {
        $("#ddZipCode").autocomplete({
            source: '<%= Url.Action("FindZipCode",select: function(event,ui) {
                var zipCodeID = parseInt(ui.item.value,1);
                $("#ddZipCode").val(ui.item.label);
                $("#ZipCodeID").val(ui.item.value);
                return false;
            }
        });
    });
</script>

<div class="ui-widget"><input type="text" name="ddZipCode" id="ddZipCode" /></div>
<%= Html.Hidden("ZipCodeID")%>

解决方法

没有更改您的模型以不使用不同的邮政编码ID …

为zipcode id创建一个隐藏字段.更改选择行为以使用ID填充隐藏字段,使用标签填充可见字段.

有关如何实现此目的,请参见The sample

您是否考虑过如果他们自己输入会发生什么?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读