2016-12-03 33 views
-1

我使用htmlhelper dropdownlist和Razor并通过jquery设置它的值。它不工作。如何在jquery中设置dropdownlist的选定值

@Html.DropDownList("Gendar", new List<SelectListItem> { 
    new SelectListItem { Text="Are You Male or Female", Value="Are You Male or Female" }, 
    new SelectListItem { Text="Male", Value="male" }, 
    new SelectListItem { Text="Female", Value="female" } 
}, new { @class = "form-control" } 


<script> 
    ($(this).attr("data-Gendar") == "Male" ? $("#Gendar[value='male']").prop("selected", true) : $("#Gendar[value ='female']").prop("selected", true)); 
</script> 
+0

你能澄清什么是不加工。 –

+0

你在这里试图做什么?你的脚本根本没有意义。 '$(this)'是指'Window'对象!它没有名为'data-Gendar'的属性,并且您生成的下拉列表也不是。您的第一个选项没有任何意义,但在将模型传递到视图之前,首先将所选选项设置为GET方法中属性'Gendar'的值为“男”或“女” –

+0

并且如果要设置它使用JavaScript,解释你想要触发更改的事件(并在该事件处理程序中使用'$('#Gendar').val('male');'或'$('#Gendar')。val “女”);' –

回答

0
set on change event, like: 
    @Html.DropDownList("Gendar", new List<SelectListItem> 
           { 
           new SelectListItem { Text="Are You Male or Female", Value="Are You Male or Female" }, 
           new SelectListItem { Text="Male", Value="male" }, 
           new SelectListItem { Text="Female", Value="female" } 
           }, new { onchange = "onChange(this)" }) 

//js 
<script> 
    function onChange(e) { 
     (e.value == "male" ? $("#Gendar[value='male']").prop("selected", true) : $("#Gendar[value ='female']").prop("selected", true)); 
    } 
</script> 
+0

它不工作 –

+0

你加载jQuery库 –

+0

我复制道具(“选择”,“选择”)与我的道具进行更换(“选择”,真正的),但仍是结果是一样..? 。其不工作 –

0

我觉得你的代码需要执行睡觉时,文件准备和页面完全加载

试试这个

<script> 
(function() { 
    ($(this).attr("data-Gendar") === "Male" ? $("#Gendar[value='male']").prop("selected", true) : $("#Gendar[value ='female']").prop("selected", true)); 
}());   

相关问题