我试图在更改下拉列表时在javascript函数内的局部变量中使用下拉选择值存储,当我单击一个锚标记来进行控制器调用时,我可以检索该值。
我目前正在尝试使用Jquery下拉列表更改功能来存储该下拉列表值(但不知道如何)。
我无法在javascript中使用viewbag。 我尝试了隐藏的价值,但不确定这是否是正确的方法,因为我没有提交表格。
无论如何在服务器端存储和检索该变量值?
答案 0 :(得分:2)
<select id="DropDown" name="routetype">
<option value="first">First</option>
<option selected="selected" value="second">Second</option>
<option value="third">Third</option>
</select>
<a id="anchor" href="#" />
<script type="text/javascript">
var selected;
$(document).ready(function () {
selected = $("#DropDown option:selected").attr('value');
$('#DropDown').change(function () { //Preserve the selected value here.
selected = $("#DropDown option:selected").attr('value');
return false;
})
如下面的Ajax化所述,将选定的下拉值发送给Controller。
$('#anchor').click(function(){
$.ajax({
url: '@Url.Action("ActionName", "Controller Name")',
type: 'POST',
contentType: 'application/json',
data: JSON.stringify({ Param: selected }), //Dropdown value
dataType: 'json'
}).done(function () { //Success Callback
});
});
</script>
[HttpPost]
public ActionResult Index(string Param)
{
return View();
}
答案 1 :(得分:0)