2012-04-02 284 views
0

如何在選擇正確的下拉項目時顯示所需的輸入文本框。jQuery選項選擇

例子:

如果是選擇它會詢問有關域的詳細信息。

<label for="domainRequired">Domain required: </label> 
<select name="domainRequired"> 
    <option value="pleaseSelect">Please Select</option> 
    <option value="yes">Yes</option> 
    <option value="no">No</option> 
</select> 

更新:

HTML:

<label for="domainRequired">Domain required: </label> 
      <select name="domainRequired"> 
       <option value="pleaseSelect">Please Select</option> 
       <option value="yes">Yes</option> 
       <option value="no">No</option> 
      </select> 
      <label for="domaintobereged">Domain:</label><input name="domaintobereged" id="domaintobereged" type="text" placeholder="http://"/> 

的jQuery:

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#domainRequired').change(function() { 
      var $domain = $('#domaintobereged'); 
      if ($(this).val() == 'yes') { 
       $domain.show(); 
      } else { 
       $domain.hide(); 
      } 
     }); 
    }); 
    </script> 

我已加載我的jQuery在</body>標籤上面的頁腳:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 
     <script>window.jQuery || document.write('<script src="http://#.co.nz/_assets/js/jquery-1.7.2.min.js"><\/script>')</script> 
+0

什麼是你說的這些輸入文本框? – BoltClock 2012-04-02 04:08:12

+3

http://jsfiddle.net/zerkms/3XYMT/ – zerkms 2012-04-02 04:10:05

+0

@zerkms移動回答,我會upvote它 – 2012-04-02 04:29:58

回答

2

假設你已經添加了相應的ID對你的元素 - 的主要工作可以做的:

$('#domainRequired').change(function() { 
    var $domain = $('#domain'); 
    if ($(this).val() == 'yes') { 
     $domain.show(); 
    } else { 
     $domain.hide(); 
    } 
});​ 

或甚至

$('#domainRequired').change(function() { 
    $('#domain').toggle($(this).val() == 'yes'); 
});​ 

活生生的實例:http://jsfiddle.net/zerkms/3XYMT/ & http://jsfiddle.net/zerkms/3XYMT/1

+0

謝謝,我已經更新我的問題,我不能讓它隱藏。有沒有辦法隱藏特定的標籤? – 2012-04-02 07:17:36

+0

@Jess McKenzie:我不明白你的意思 – zerkms 2012-04-02 09:34:00

+0

我可以使用css隱藏#domaintobereged輸入,但我不能讓它顯示或隱藏使用我的代碼。當使用display:none;或標籤仍然顯示的jQuery 2012-04-03 02:25:21

0
$('select[name="domainRequired"]').change(function(e){ 
    if(e.target.value === 'yes') { 
     // Do stuff 
    } 
}); 
0

看一看.change()

大致使用如下:

$("[name=domainRequired]").change(function() 
{ 
    // Show a text box if YES was selected (perhaps using .val() ?) 

}); 
0

跨瀏覽器解決方案:

var $select = $('select[name="domainRequired"]'); 
$select.change(function() { 
    if ($select.find('option:selected').val() == 'yes') { 
     // make inputs required 
    } else { 
     // make inputs optional 
    } 
});