2015-06-16 16 views
6

htmlseçimi devre dışı seçeneğini jQuery ve yapmak sınır

<select name="register-month" id="register-month"> 
    <option value="00">Month</option> 
    <option value="01">January</option> 
    <option value="02">February</option> 
    <option value="03">March</option> 
    <option value="04">April</option> 
    <option value="05">May</option> 
    <option value="06">June</option> 
    <option value="07">July</option> 
    <option value="08">August</option> 
    <option value="09">September</option> 
    <option value="10">October</option> 
    <option value="11">November</option> 
    <option value="12">December</option> 
</select> 

jquery

function checkbirthday() { 
    var register_month_value = $("#register-month").val(); 
    //month check 
    if (register_month_value === "") { 
     $("#register-month option[value='00']").remove(); 
     $('#register-month').css('border-color', 'red'); 
    } else { 
     $('#register-month').css('border-color', '#dfe0e6'); 
    } 
    return; 
} 

$(document).ready(function() { 
    $("#register-month").keyup(checkbirthday); 
}); 

Amacım 2, onlar seçim tıkladığınızda "Ay" devre dışı bırakmak istediği, 1 basitti seçim boşsa, css kenarlığını kırmızı olarak değiştirin.

Ama yine de birçok yolu denedim, hala şans yok, burada neyin var?

+1

için ' ""' asla değerini değiştirmek ''da olduğu gibi '00' olarak ayarlanmıştır. Bu nedenle, yalnızca bunu kontrol etmeniz gerekir. – GillesC

+0

http://jsfiddle.net/arunpjohny/bg122770/1/ –

cevap

5

comments inline bakınız:

// on change of the option selection 
$('#register-month').on('change', function() { 
    var selectedMonth = parseInt($(this).val(), 10); // Get value of selected option 
    var borderColor; 

    if (selectedMonth) { // If selected option is `Month` 
     $(this).find('option[value="00"]').prop('disabled', true); 
     borderColor = '#dfe0e6'; 
    } else {  
     borderColor = 'red'; 
    } 

    $(this).css('border-color', borderColor); // Update the border colour of the dropdown. 
}); 

Demo: Bir ay HTML değerini seçili değilken olarak http://jsfiddle.net/tusharj/7w5ub8t9/

2

Basitçe

if(register_month_value === "00") 
İlgili konular