2013-03-22 53 views
-3

我做錯了什麼。我想寫在一個領域,然後打開以下。我希望如果我在一個字段中輸入文本,然後其他字段正在打開,但其他字段不打開。請幫我寫jQuery代碼

<html> 
<head> 
<script type="text/javascript" src="jquery.js"></script> 
<script> 

    $(document).ready(function() { 
     $(function(){ 
      if($('#name' == '')){ 
       $('#version').attr('disabled', 'disabled'); 
      } 
      else { 
       $('#version').removeAttr('disabled', 'disabled'); 
      } 
     }); 

     $(function(){ 
      if($('#name' !== '')){ 
       $('#version').attr('disabled', 'disabled'); 
      } 
      else { 
       $('#version').removeAttr('disabled', 'disabled'); 
      } 
     }); 
    }); 
</script> 
</head> 
<body> 
    <div> 
     <form> 
     Name: <input type="text" name="name" id="name"> 
     Version: <input type="text" name="version" id="version"> 
     Build: <input type="text" name="build" id="build"> 
     <input type="submit" value="Submit" id="submit"></br> 
     <input type="text"> 
     </form> 
    </div> 
</body> 
</html> 
+1

請發佈一個完整的代碼示例。沒有做出假設或提出更多問題,你給我們的東西是不夠的。 – j08691 2013-03-22 19:00:09

+0

寫一些關於你的HTML代碼的東西。 – HerrSerker 2013-03-22 19:00:52

+0

[.removeAttr](http://api.jquery.com/removeAttr/)只有一個參數。而你的選擇器不起作用。它應該是'$('#version')'。但是,如果您試圖確定是否存在id爲'version'的元素,或者您想檢查元素是否爲空,目前尚不清楚。 – 2013-03-22 19:03:17

回答

1

這是無效的:

if($('#name' == '')){ 
    $('#version').attr('disabled', 'disabled'); 
} 

您可以使用它代替:

if($('#name').length){ 
    $('#version').attr('disabled', 'disabled'); 
} 
0

我看到一個明顯的錯誤,選擇在jQuery的一個元素,使用$('#ele')

$(function(){ 
    if($('#name') == ''){ 
     $('#version').attr('disabled', 'disabled'); 
    } 
    else { 
     $('#version').removeAttr('disabled', 'disabled'); 
    } 
}); 

$(function(){ 
    if($('#version') == ''){ 
     $('#build').attr('disabled', 'disabled'); 
    } 
    else { 
     $('#build').removeAttr('disabled', 'disabled');  
    } 
});