2015-02-18 1 views
6

Вот мой кодПоказать контроль/скрыть на основе выбора выпадающего MVC 4 бритвы с #

@Html.DropDownListFor(z => z.SelectedReportId, new SelectList(Model.ReportTypes, "Value", "Text", Model.SelectedReportId), "-- Select Report --") 
@Html.CheckBoxFor(model => model.IncludePhotos)@Html.LabelFor(model => model.IncludePhotos) 

, который генерирует:

<select data-val="true" data-val-number="The field SelectedReportId must be a number." data-val-required="The SelectedReportId field is required." id="SelectedReportId" name="SelectedReportId"> 
    <option value="">-- Select Report --</option> 
    <option value="1">Excel Report</option> 
    <option value="2">Text Report</option> 
</select> 
<br /> 
<input data-val="true" data-val-required="The Include photos in the report field is required." id="IncludePhotos" name="IncludePhotos" type="checkbox" value="true" /> 

У меня есть один выпадающий список и флажок, мне нужно отключить флажок если пользователь выбирает первое значение в раскрывающемся списке. Вот Javascript Я использую без успеха

$(function() { 
    $('#SelectedReportId').change(function() { 
     var value = $(this).val(); 
     if (value == '1') { 
      $('#IncludePhotos').show(); 
     } else { 
      $('#IncludePhotos').hide(); 
     } 
    }); 
}); 

Цените любую помощь, спасибо

+1

Можете ли вы показать HTML, что код бритву на самом деле генерации? –

+0

Что делает ваш JavaScript, если вообще? – krillgar

+0

В этом примере (http://jsfiddle.net/ccLpbps0/) все выглядит нормально. Вы получаете ошибки скрипта на странице? Вы уверены, что jQuery включен правильно? –

ответ

7

Включены Javascript в разделе @section скрипты {} и он начал работать,

@section scripts{ <script type="text/javascript"> 
$(function() { 
    $('#SelectedReportId').change(function() { 
     var value = $(this).val(); 
     if (value == '1') { 
      $('#IncludePhotos').show(); 
     } else { 
      $('#IncludePhotos').hide(); 
     } 
    }); 
});</script>} 
+2

Вы понимаете, что это просто показывает/скрывает флажок - если пользователь проверил его перед выбором опции, он будет еще сообщение 'true' –

+0

проверить [this] (http: //forums.asp.net/t/1875676.aspx? Как + + скрыть + + MVC + drop + down + box +) для получения дополнительных параметров, надеюсь, кому-то поможет. – stom

1

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

@Html.DropDownListFor(z => z.SelectedReportId, new SelectList(Model.ReportTypes, "Value", "Text", Model.SelectedReportId),new {id="myDropdown"}

@Html.CheckBoxFor(model => model.IncludePhotos,new {id="myCheckbox"})

$(function() { $('#myDropdown').change(function() { var value = $(this).val(); var fistVal=$('#myDropdown option:first-child').attr("selected", "selected"); if (value == fistVal) { $('#IncludePhotos').show(); } else { $('#IncludePhotos').hide(); } }); });