2015-06-16 22 views
6

htmljquery về lựa chọn tùy chọn vô hiệu hóa và làm cho đường viền màu đỏ

<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); 
}); 

Ý định của tôi là đơn giản, 1 Tôi muốn vô hiệu hóa "Tháng" một lần họ nhấp vào lựa chọn, 2nd nếu lựa chọn là giá trị rỗng, hãy thay đổi đường viền css thành màu đỏ.

Nhưng tôi đã thử nhiều cách, vẫn không có may mắn, có gì sai ở đây?

+1

Giá trị sẽ không bao giờ được ' ""' như khi một tháng không được chọn giá trị HTML của bạn được đặt thành '00' như trong' 'Vì vậy, bạn cần phải kiểm tra lại. – GillesC

+0

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

Trả lời

5

Xem ý kiến ​​inline:

// 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: http://jsfiddle.net/tusharj/7w5ub8t9/

2

Đơn giản chỉ cần thay đổi để

if(register_month_value === "00") 
Các vấn đề liên quan