2016-03-01 41 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(); 
});