2017-02-16 1 views
0

У меня есть выпадающее меню yes/no с редактором Kendo. Редактор не должен скрываться без выбора и показывать выбор да.JQuery: скрыть и показать с mvc не работает

Я пробовал это до сих пор. Если кто-то может указать мою ошибку, которая действительно поможет. благодаря

Jquery:

<script> 
    $(document).ready(function() { 
     $("[name='selectname']").change(function() { 
      //alert($(this).val()); 
      if ($(selectitem).val() == "yes") { 
       $('.yesnoitemselect').show(); 
      } 
      else { 
       $('.yesnoitemselect').hide(); 
      } 
     }); 

    }) 
</script> 

Бритва код:

<div class="form-group"> 
         <div id="selectitem" name="selectname"> 
          @Html.DropDownListFor(m => m.DisplayNumber, new SelectList(Model.DropdownQuestions, "DisplayNumber", "ValueDescription"), "---Select One---") 
         </div> 
         <br/> 
         <br/> 
         <div class="yesnoitemselect" name="yesnoitemselect" id="yesnoitemselect"> 


            @(Html.Kendo().EditorFor(model => model.Response) 
      .Encode(false) 
      .Name("Response") 
      .HtmlAttributes(new { style = "height:500px" }) 
      .Resizable(resizable => resizable.Content(true).Toolbar(true)) 
      .Tools(tools => tools.Clear() 
      .Bold().Italic().Underline().JustifyLeft().JustifyCenter().JustifyRight().JustifyFull() 
      .Formatting() 
      .CleanFormatting())) 


         </div> 
+0

Когда вы отлаживаете это, как это происходит? Похоже, вы используете несуществующую здесь переменную: '$ (selectitem) .val()' Есть ли ошибка для этого в консоли отладки браузера? Вызывается ли обработчик 'change' вообще? Какова ценность этого кода? – David

ответ

0

В вашем селекторе запроса вы используете selectitem как это переменная. Вы должны будете использовать буквальный, чтобы получить элемент по идентификатору:

if ($('#selectitem').val() == "yes") { 

Еще проще просто использовать $this:

if ($(this).val() == "yes") { 
+0

@David: Я добавил символ # перед selectitem, проблема в том, что он не будет вести себя ожидаемым образом, в первый раз, когда да/нет ударит, редактор скрывается. Мы не хотим, чтобы это произошло, вместо этого оно должно спрятаться и показать «да». Кроме того, когда я отлаживаю код, он никогда не нажимает, если условие, instaed, оно по умолчанию всегда остается. Thnaks – Hari

0

Я исправил проблему.

Я передавал неправильный параметр как значение, как только я исправил его, код теперь работает. Думал, что это поможет кому-то другому.

<script> 
    $(document).ready(function() { 
     debugger; 
     $('.yesnoitemselect').hide(); 
     $("#DisplayNumber").change(function() { 

      if (this.value == '1') { 
       $('.yesnoitemselect').show(); 
      } 
      else { 
       $('.yesnoitemselect').hide(); 
      } 
     }); 

    }) 
</script> 
Смежные вопросы