jQuery不显示表单字段
jQuery not displaying form fields
我有下面的jQuery脚本
<script>
$(document).ready(function(){
$('#bashing_title').change(function(){
$(".selectInput").hide();
$("#"this.value).show();
});
});
</script>
当选择下拉菜单时,应该显示一个表单字段。但事实并非如此。我猜这可能是因为生成的html是
<option value="Title 1" value="1">Title 1</option>
但是如果我把上面的jquery代码改成
<script>
$(document).ready(function(){
$('#bashing_title').change(function(){
$(".selectInput").hide();
$("#1").show();
});
});
</script>
它的工作原理。但我有大约10个不同的选项id。我怎么修理它?
我希望我说的有意义
变化
$("#"this.value).show();
$("#"+this.value).show();
并删除重复的value
属性,即更改
<option value="Title 1" value="1">Title 1</option>
<option value="1">Title 1</option>
你应该写。
$("#"+this.value).show();
更改为$ (" # " + this.value),告诉();
可不可以在#和this.value之间加个"+"那么简单
您需要正确连接字符串:
$("#" + this.value).show();
还有,你的HTML标记中有一个错误,它应该是这样的:
<option title="Title 1" value="1">Title 1</option>
而不是:
<option value="Title 1" value="1">Title 1</option>
其中,您有两个值,这在您的情况下会引起问题。
this
不包含字符串,但包含一个对象:元素本身。this
没有称为value
的属性,因此this.value
将不起作用。您必须访问由this.options[this.selectedIndex].value
或通过jQuery $(this).val()
选择的子节点。这应该是一个有效的解决方案:
$(document).ready(function(){
$('#bashing_title').change(function(){
$(".selectInput").hide();
var element = $(this).val();
$("#" + element).show();
});
});
相关文章:
- 通过单击动态加载的表中同一行的另一个字段来更新一行的字段
- 添加和删除隐藏字段数组中的值,而不提交表单
- 单击鼠标,用MySQL数据填充html表单输入字段
- 带有条件字段的PHP表单
- 防止在输入字段上单击事件
- 高级自定义字段按单选按钮值排序
- 使用JQuery启用输入字段的单选框
- SmartyStreets:使用条件字段调整表单中已验证勾号的位置
- 组合功能以使用 Jquery 在一组单选按钮中显示输入字段和单选按钮
- 使只读字段不可单击
- 使用 JavaScript 进行 HTML 字段表单验证
- JavaScript 在不输入输入字段/表单的情况下传递输入
- JQuery 在动态添加输入字段时单击浏览,而 ajax 不起作用
- 我可以让时间选择器在输入字段中单击时触发吗?
- 将隐藏字段表单值传递给控制器
- 隐藏小视口中的字段,单击按钮再次显示
- 我可以给html文本字段表单中的元素提供相同的名称和id吗
- 在新行上显示输入字段(基于单选)
- 在文本字段(表单)后插入节点
- 动态生成的名称字段的单选按钮组验证