我有这样的ajax函数,可以在HTML选择列表上运行
$.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元素
<select id="cmbDept"></select>如何使用MVC3获取控制器中选定项的值?
发布于 2013-01-27 16:36:40
Us FormCollection作为控制器中的参数。并将name分配给select
<select id="cmbDept" name="cmbDept"></select>现在FormCollection有了这个已发布的值。
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();
}发布于 2013-01-27 16:40:21
你有4种方法可以做到这一点
您可以绑定
$(select).change(function(){})事件,并再次发送ajax请求,包装您将能够在select中获得的选定值hidden input绑定到视图模型中的属性,现在绑定到对select所做的更改,并以这种方式用值填充输入。无论何时回发表单,它都会将值正确绑定到selectmodel,则只需在model中保留一个名为cmbDept且选定的值的property,就会自动回发发布于 2013-01-27 16:38:09
要在客户机上获取select元素的值,只需使用$("#cmbDept").val()。
要在元素提交到服务器后获得元素的值,只需在select中添加一个name="cmbDept",并在$.ajax调用要发送到的控制器操作中创建一个名为cmbDept的参数。
https://stackoverflow.com/questions/14545738
复制相似问题