2016-03-01 40 views
0

我有一個簡單的引用形式,即時通訊有幾個問題,我希望從下拉菜單中選擇特定字段時顯示文本字段,我的代碼如下:在選擇下拉菜單時創建文本字段

<script type="text/javascript"> 
$(document).ready(function(){ 
      $("#hear").change(function(){  
      $("#quote").find(".field").remove(); 
      //or 
       $('#quote').remove('.field'); 
      if($(this).val()=="value5") 
      { 
     $("#quote").append("<input class='field' type='text' />"); 

      } 
      }); 

}); 
</script> 

<form id="quote" class="quote-form"> 
<input name="" class="text-field" type="text" placeholder="Full Name" /> 
<input name="" class="text-field" type="text" placeholder="Contact Number" /> 
<input name="" class="text-field" type="text" placeholder="E-Mail Address" /> 
<select id="hear" name="hear" class="select-field"> 
<option value="value1" selected="true" disabled="disabled">Where did you hear about us? (Please Select)</option> 
    <option value="value2">Check-a-Trade</option> 
    <option value="value3">MyBuilder</option> 
    <option value="value4">Referred by a Friend (Please State)</option> 
    <option value="value5">Other (Please State)</option> 
</select> 
<input name="" class="text-field" type="text" placeholder="Location" /> 
<textarea name="" cols="" rows="8" class="text-area" placeholder="Description of your Desired Works.."></textarea> 
<input name="" type="submit" class="quote-form-button"/> 


</form> 

上面的代碼應該創建一個文本字段時,「其它」時,雖然我有幾個問題,任何幫助表示讚賞,乾杯!

+0

我沒有看到任何PHP代碼,所以我已刪除該標記,並加入JavaScript的和jQuery – RiggsFolly

+0

問題你有什麼,這樣是不是免費調試服務,您只需把你的代碼,一個免費的審查。指定問題所在 – RiggsFolly

+0

您粘貼的代碼片段有效。嘗試在這裏:https://jsbin.com/xalema/edit?html,js輸出 – Oliver

回答

0

你沒有提到詳細的錯誤。然而,除了刪除一個領域,我隱藏的東西應該是一個更好的選擇。雖然這可能會根據您的確切要求而有所不同。

在這個例子中,當你選擇「其他」,然後一個文本框被創建一個提供的index.On其他選擇文本字段被隱藏。

$(document).ready(function() {  
$('#hear').change(function() { 
var val = $(this).find("option:selected").text(); 
if (val == "Other") { 
$("#quote").append('<input type="text" name="textbox' + index + '" id="textbox' + index + '" value="">'); 
} 
if(val == "some value"){ 
$('#your text field id').hide(); 
}).change(); 
});