2013-02-19 83 views
-2

我想在選擇特定值時禁用文本框。使用jQuery選擇事件

例如

<select name="license" id="license"> 

<option value="1">Free</option> 
<option value="2">Commercial</option> 

</select> 

當自由我想文本框的ID價格要禁用選擇。

<input type="text" class="input" id="price" name="price" value=""/> 

我該如何做到這一點使用jQuery。提前致謝。

+2

http://www.whathaveyoutried.com? – 2013-02-19 18:11:58

回答

1

可以change事件綁定的選項,並使用val()來獲得所選擇的值就可以了狀態。

Live Demo

$('#license').change(function() { 
    if ($(this).val() == "2") 
     $('#price').prop('disabled', true); 
    else 
     $('#price').prop('disabled', false); 
}); 
0

這裏是我已經做了的jsfiddle你的代碼

$(function(){ 
$("#license").change(function(){ 
    if(parseInt($(this).val()) === 1){ 
     $("#price")attr("enabled");} 
    else 
    { 
    $("#price").removeAttr("enabled"); 
} 
    }) 
}) 
1

http://jsfiddle.net/DMMFv/

$(文件)。就緒(函數(){

$( 「#許可證」)的變化(函數(){

if($(this).val()=="1"){ 
    $(".input").attr("disabled","disabled"); 
} else { 
    $(".input").removeAttr('disabled'); 
} 
}); 

})。

+0

似乎從1.6開始,prop方法更適合。我會留下我之前寫的答案,因爲對於某些人來說可能更容易理解。 – James 2013-02-19 21:13:55

0

這裏你去:

$(function(){ 

    //Catch when dropdown menu item was changed 
    $('#license').on('change',function(){ 

    //Get selected item 
    var selectedItem = $('#license').find(':selected').text(); 

    //Check what was selected 
    if(selectedItem == "Free") 
    { 
    $('#price').attr('disabled',true);  
    } 
    else 
    { 
     $('#price').removeAttr('disabled'); 
    } 

    }); 

    //Trigger change event so the check happens on page load as well as when list item is changed 
    $('#license').change(); 

}); 

完整的工作JSBin: http://jsbin.com/uwevir/1/