2013-04-08 2 views
0

У меня есть выпадающий список, который содержит список элементов, первый элемент имеет значение 0, то другие элементы значения больше 0.JQuery Выпадающее Значение

Следующий код присоединенные к событию изменения:

<script type="text/javascript"> 
    $("#SearchRegionId").change(function (e) { 
     var select = $("#SearchKommuneId"); 
     select.empty(); 
     if ($("#SearchRegionId").val() != 0); 
     { 
      $.ajax({ 
       url: '/Kommune/getKommunerIRegion/', 
       type: 'POST', 
       data: { RegionId: $("#SearchRegionId").val() }, 
       dataType: 'json', 
       success: function (data) { 
        for (i in data) { 
         select.append($('<option value="' + data[i].KommuneId + '">' + data[i].KommuneNavn + '</option>')); 
        } 
       } 
      }); 
     } 
    }); 
</script> 

Моя проблема заключается в том, что, когда я тест, чтобы увидеть, если $ («# SearchRegionId»). вал()! = 0 всегда выходит так, даже если выбранное значение равно 0. Я показал значение в предупреждающее поле, которое показывает значение 0, но что-то говорит мне, что это действительно не 0.

+0

'select.empty();' почему это? –

ответ

1

У вас есть ; в конце if

if ($("#SearchRegionId").val() != 0) 

; в конце ; означает, что если условие закончился там и блок кода после этого будет выполняться независимо от значения условия.

<script type="text/javascript"> 
    $("#SearchRegionId").change(function (e) { 
     var select = $("#SearchKommuneId"); 
     select.empty(); 
     if ($("#SearchRegionId").val() != 0) 
     { 
      $.ajax({ 
       url: '/Kommune/getKommunerIRegion/', 
       type: 'POST', 
       data: { RegionId: $("#SearchRegionId").val() }, 
       dataType: 'json', 
       success: function (data) { 
        for (i in data) { 
         select.append($('<option value="' + data[i].KommuneId + '">' + data[i].KommuneNavn + '</option>')); 
        } 
       } 
      }); 
     } 
    }); 
</script> 

Демо: Problem
Демо: Solution

+0

Arun P Johny, Ooooh my ...., большое спасибо за ваш ответ. Мне нужна поездка на солнце и ветер, я думаю: -D – ThomasE

0

Зачем вы пишете

select.empty(); 

после присвоения значения, то проверить его .....

Это делает

var select; 

опустел, не так ли? Вот что я думаю, так же, как roXon

+0

Обратите внимание, что у меня есть два выпадающих списка в сценарии развертки: Одна выпадающая группа предназначена для муниципалитетов: var select = $ ("# SearchKommuneId"); select.empty(); Один для регионов, это выпадающее меню, которое вызывает событие изменения: if ($ ("# SearchRegionId"). Val()! = '0'); – ThomasE