2014-03-14 91 views
0

有很多關於如何使用jquery基於單選按鈕選擇啓用文本字段的文章。來源:Disable/enable text field with radio button (jQuery)問題jquery啓用/禁用基於單選按鈕的文本框

我沒有JavaScript的經驗,我不能得到任何這些例子的工作。

我試過通過jfiddle提供的多個示例,但它們不適用於我的應用程序。

所以,一個清單: 1)一般情況下,javascript的作品,因爲我有複製&粘貼日期選擇器部件,它工作得很好。 2)我有我的標籤包裝代碼片段 3)無論是在身體或頭沒有什麼區別。

下面是我使用 在視圖

<script src="//code.jquery.com/jquery-1.9.1.js"> 
//enable a box if the radio button is selected 

$('input[name="radioknof"]').on('click', function() { 
$(this).next().prop('disabled',false).siblings('input[type=text]').prop('disabled',true); 
}); 
</script> 

<input type="radio" name="radioknof" value="text1"/> 
<input type="text" id="id1" disabled="disabled"/><br/><br/> 
<input type="radio" name="radioknof" value="text2"/> 
<input type="text" id="id2" disabled="disabled"/> 

顯然我錯過了一個語法錯誤,這樣簡單的事情(這是笨)示例代碼...但我不能爲生命我看到它。我不明白的是爲什麼jfiddle能夠100%工作,而在我的本地服務器上卻不能。

(這些盒子都是無論的單選按鈕選擇的禁用)

回答

1

解決了....正如我所提到的,我沒有任何經驗,所以我只是回到jfiddle示例,查看底層代碼,並在末尾找到額外的行$(window).load(function(){,並關閉});

下面的完整代碼。

<html> 
<body> 
    <script type='text/javascript' src='//code.jquery.com/jquery-1.9.1.js'> </script> 
    <script type='text/javascript'> 
     $(window).load(function(){ 
      $('input[type=text]').prop('disabled',true); 
      $('input[name=radioknof]').on('click', function() 
       {    
        $(this).next().prop('disabled',true).siblings('input[type=text]').prop('disabled',false); 
       } 
      ); 
     });    
    </script> 

    <input type="radio" name="radioknof" value="text1" /> 
    <input type="text" id="id1" disabled="true"/><br/><br/> 
    <input type="radio" name="radioknof" value="text2"/> 
    <input type="text" id="id2"/> 
</body> 

0

禁用的HTML表單輸入屬性不採取的參數。您可以設置它,也可以不設置,所以爲了修復您的代碼,當您要啓用該字段時,請完全刪除禁用的屬性。

+0

對不起,我只是沒有用JavaScript足夠熟悉,理解這一點。你指的是'.prop('disabled',true);'我假設? – Maxcot

+0

不太清楚你爲什麼說形式......在這個例子中沒有一個...? – Maxcot

+0

''標籤是表單元素,這就是我爲什麼這樣引用它們的原因。很高興看到你明白下面的想法! – jacobroufa

1

您有<script src="//code.jquery.com/jquery-1.9.1.js">其中的代碼。你應該有更多的東西一樣:

<script type='text/javascript' src='//code.jquery.com/jquery-1.9.1.js'></script> 
    <script type='text/javascript'> 
    // put your code in here 
    </script> 
</body> 
</html> 

要麼或者使用<head>load事件。您無法定義src,也可以將代碼放入<script>標記中。我會親自爲您的其他代碼使用另一個外部src,以便將其緩存到您客戶端的瀏覽器內存中。

+0

沒有。沒有什麼變化。我明白了標籤的含義,當我得到它的工作時,我會使用另一個外部源。但迄今沒有改善。兩個盒子都保持禁用。 – Maxcot

+0

嘗試使用'$('#id')'選擇器,只是爲了看看會發生什麼。 – PHPglue

相關問題