首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用AJAX获取.NET中的select元素

使用AJAX获取.NET中的select元素
EN

Stack Overflow用户
提问于 2013-01-27 16:33:35
回答 3查看 120关注 0票数 0

我有这样的ajax函数,可以在HTML选择列表上运行

代码语言:javascript
复制
$.ajax({
                type: "POST",
                url: urlemp,
                success: function (returndata) {
                    if (returndata.ok) {
                        //  var data = eval("" + returndata.data + "");
                        select.empty();
                        select.append($('<option>' + "" + '</option>'));
                        $.each(returndata.data, function (rec) {

                            select.append($('<option>' + returndata.data[rec].Name + '</option>'));
                        });
                        select.show('slow');
                        select.change();
                    }
                    else {
                        window.alert(' error : ' + returndata.message);
                    }

                }
            }
    );

这是HTML元素

代码语言:javascript
复制
        <select id="cmbDept"></select>

如何使用MVC3获取控制器中选定项的值?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-01-27 16:36:40

Us FormCollection作为控制器中的参数。并将name分配给select

代码语言:javascript
复制
<select id="cmbDept" name="cmbDept"></select>

现在FormCollection有了这个已发布的值。

代码语言:javascript
复制
public ActionResult Index(FormCollection form)
    {
        string val = "";
        foreach (var key in form.AllKeys)
        {
            if (key.Contains("cmbDept"))
            {
                 val = form.Get(key);
            }
        }
        --your code here with the posted values
        return View();
    }
票数 0
EN

Stack Overflow用户

发布于 2013-01-27 16:40:21

你有4种方法可以做到这一点

您可以绑定

  1. $(select).change(function(){})事件,并再次发送ajax请求,包装您将能够在select中获得的选定值

  1. 您可以将视图中的hidden input绑定到视图模型中的属性,现在绑定到对select所做的更改,并以这种方式用值填充输入。无论何时回发表单,它都会将值正确绑定到select

  1. @Don将我从第三种写作方式中解救了出来,所以请阅读他的回复。

  1. 如果您有一个绑定了此视图的model,则只需在model中保留一个名为cmbDept且选定的值的property,就会自动回发
票数 1
EN

Stack Overflow用户

发布于 2013-01-27 16:38:09

要在客户机上获取select元素的值,只需使用$("#cmbDept").val()

要在元素提交到服务器后获得元素的值,只需在select中添加一个name="cmbDept",并在$.ajax调用要发送到的控制器操作中创建一个名为cmbDept的参数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14545738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档