我正在尝试使用将下拉选择的值存储在 javascript 函数内的局部变量中,一旦下拉更改,当我单击锚标记进行控制器调用时,我可以检索该值。
我目前正在尝试使用 Jquery 下拉更改功能来存储该下拉值(但不知道如何)。
我不能在 javascript 中使用 viewbag。我尝试了隐藏值,但不确定这是否是正确的方法,因为我没有提交表单。
无论如何在服务器端存储和检索该变量值?
我正在尝试使用将下拉选择的值存储在 javascript 函数内的局部变量中,一旦下拉更改,当我单击锚标记进行控制器调用时,我可以检索该值。
我目前正在尝试使用 Jquery 下拉更改功能来存储该下拉值(但不知道如何)。
我不能在 javascript 中使用 viewbag。我尝试了隐藏值,但不确定这是否是正确的方法,因为我没有提交表单。
无论如何在服务器端存储和检索该变量值?
<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;
})
如下面的 Ajaxifying 所述,将选定的下拉值发送到 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();
}