我正在开发一个简单的php联系表单,并努力在下拉列表中选择“其他”选项,以便在选中时显示文本字段选项。表单包含在<?php require_once('includes/contact_form.php'); ?>
的页面中,页脚也是一个包含(页脚是我添加JS的地方)。
但它不会工作......
<label>How did you hear about us?</label>
<select name="how" class="selectfield" id="how">
<option value="">Please Select...</option>
<option value="Advertisement">Advertisement</option>
<option value="Care at Home Today">Care at Home Today</option>
<option value="Email-Newsletter">Email/Newsletter</option>
<option value="Facebook">Facebook</option>
<option value="Family-Friend">Family or Friend</option>
<option value="Magazine">Magazine Article</option>
<option value="Twitter">Twitter</option>
<option value="Website-Search Engine">Website/Search Engine</option>
<option value="Other">Other</option>
</select>
<input type='text' id="other" class="hidden" />
<input name="contactus" type="submit" class="submit" id="contactus" value="Submit" />
</form>
$('#how').change(function(){
var selected_item = $(this).val()
if(selected_item == "other"){
$('#other').val("").removeClass('hidden');
}else{
$('#other').val(selected_item).addClass('hidden');
}
});
答案 0 :(得分:1)
尝试:
$('#how').change(function(){
var selected_item = $(this).val()
if(selected_item == "Other"){ // 'Other'
$('#other').val('').show(); //show textbox if Other is selected
}else{
$('#other').hide(); //Hide textbox if anything else is selected
}
});
答案 1 :(得分:1)
您的问题出在字符串比较中,应该是:
if(selected_item == "Other"){
使用大写O
,经过测试
答案 2 :(得分:1)
不确定问题中是否是拼写错误,但您的下拉值是“其他”,而在您的js中,您正在测试“其他”。所以有一个不匹配。可能是你的问题
这是你的例子的一个工作小提琴,只是在你的if语句中将“other”改为“Other”。
正如coder1984建议的那样,只需在你的if中使用jquery的.show()
和.hide()
声明也可以。
if(selected_item == "Other"){
$('#other').val("").show()
}else{
$('#other').val(selected_item).hide()
}