2016-11-20 4 views
0

У меня есть 2 тега select. второе зависит от первого. Он работает, если я проверяю только значение, но мне также нужно проверить, выбрано ли оно.append select option, если значение равно или выбрано в jquery

if(el.val() === "LOCATIONS" || el.is(' option:selected')){ 
$("#status option").remove(); 
$("#status").append("<option value=''>All Packages</option><option value=''>KL</option>"); 
} 

Я пытаюсь сделать зависание выбранного выпадающего списка. если я удалю el.is('option:selected'), он добавит параметры на основе выбранной опции 1-го выбора. но он должен также добавить опции, если какой-либо параметр выбран на первом раскрывающемся списке

здесь jsfiddle

+0

Если вы не проверить значение, то нет необходимости проверять выбранный. – Azim

ответ

1

Ну это работает, даже если вы проверяете one condition т.е. значение выбранного параметра. Но пройти два условия, которые вы должны использовать && operator и вместо el.is('option:selected'), вы можете изменить это ("el:selected");, как показано ниже,

$(document).ready(function() { 
 
var a = $("#source > option:selected").val(); 
 
if(a == "REGIONAL"){ 
 
    $("#status option").remove(); 
 
     $("#status").append("<option value=''>All Packages</option><option value='Airports'>Airports</option>"); 
 
} 
 
$("#source").change(function() {  
 
    var el = $(this); 
 
    if((el.val() === "AUDIENCES SEGMENT") && ('el:selected')) { 
 
    $("#status option").remove(); 
 
    $("#status").append("<option value=''>All Packages</option><option value='Youth'>Youth</option><option value='Working Adults'>Working Adults</option><option value='Family'>Family</option><option value='Travellers'>Travellers</option>"); 
 
    } 
 
     else if((el.val() === "REGIONAL") && ('el:selected')) { 
 
     $("#status option").remove(); 
 
     $("#status").append("<option value=''>All Packages</option><option value='Airports'>Airports</option>"); 
 
     
 
     } 
 
     
 
     else if((el.val() === "LOCATIONS") && ('el:selected')) { 
 
     $("#status option").remove(); 
 
     $("#status").append("<option value=''>All Packages</option><option value=''>KL</option>"); 
 
     
 
     } 
 
    }); 
 
    
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
Source: 
 
    <select id="source" name="source"> 
 
    <option>All Types</option> 
 
    <option value="AUDIENCES SEGMENT">AUDIENCES SEGMENT</option> 
 
    <option selected value="REGIONAL">REGIONAL</option> 
 
    <option value="LOCATIONS">LOCATIONS</option> 
 
    </select> 
 

 
Status: 
 

 
<select id="status" name="status"> 
 
    <option>All Packages</option> 
 
</select>

+0

в exmaple, REGIONAL выбрано, но оно не добавляется '' – Elyor

+0

http://jsfiddle.net/rQBFZ/304/ – Elyor

+0

@Elyor onChange добавит это значение. – frnt

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