2016-12-03 3 views
-1

Я использую htmlhelper dropdownlist с Razor и устанавливаю его значение s по jquery. он не работает.Как установить выбранное значение dropdownlist в jquery

@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', и ни один из выпадающих списков вы не генерируете. Ваш первый вариант не имеет смысла, но для первоначальной установки выбранной опции задайте значение свойства «Gendar» либо «Male», либо «Female» в методе GET, прежде чем передать модель в представление –

+0

И если вы хотите установить он использует javascript, объясняет, какое событие вы хотите инициировать смену (и внутри этого обработчика событий используйте '$ ('# Gendar'). val ('male');' или '$ ('# Gendar'). val ('female'); ' –

ответ

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

Я скопировал prop (« selected »,« selected ») заменил его на мой prop (« selected », true), но результат все тот же. .its not working –

0

Я думаю, что ваш код должен спать выполняется, когда документ будет готов и страница полностью загружена

попробовать это

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

Смежные вопросы