根据下拉菜单默认隐藏元素
我有一个表单元素,它的隐藏或显示取决于表单中的下拉元素。我已经能够在下拉列表更改时更改可见性。
这是我现在的代码:
$("select[name=post_category]").change(function(){
var id = $("select[name=post_category]").val();
if(id != 3){
$("dt#post_url-label").hide();
$("dd#post_url-element").hide();
}
else{
$("dt#post_url-label").show();
$("dd#post_url-element").show();
}
});
我想要的是隐藏字段,除非页面加载 id=3 (所以我不能只用 CSS 隐藏它们),在这种情况下,字段必须从一开始就可见。现在,该字段在页面加载时始终可见。
有什么建议我应该如何去做吗?
I have a form element, that is hidden or show depending on a dropdown element in my form. I've been able to change the visibility when the dropdown changes.
Here's my code right now:
$("select[name=post_category]").change(function(){
var id = $("select[name=post_category]").val();
if(id != 3){
$("dt#post_url-label").hide();
$("dd#post_url-element").hide();
}
else{
$("dt#post_url-label").show();
$("dd#post_url-element").show();
}
});
What I want is the fields to be hidden, unless the page loads with id=3 (so i can't just hide them with CSS), in that case the field has to be visible from the start. Right now, the field is always visible on pageload.
Any suggestions how I should go about this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
试试这个:
想法是立即触发更改事件。您应该能够通过使用
triggerHandler('change')
或仅change()
来实现这一点。现场演示1: http://jsfiddle.net/XE78E/
现场演示2: http://jsfiddle.net/XE78E/1/
2. 演示显示,如果预选第三个选项,则该元素可见。
Try this:
The idea is to trigger the change event immediately. You should be able to achieve that by using either
triggerHandler('change')
or justchange()
.Live demo 1: http://jsfiddle.net/XE78E/
Live demo 2: http://jsfiddle.net/XE78E/1/
The 2. demo shows that the element is visible if the 3-rd option is preselected.
那么为什么你不检查页面加载是否 id = 3 并使用相同的逻辑来隐藏或显示元素。
so why dont u check on page load if the id = 3 or not and use same logic to hide or show the element.
该代码是 javascript,对吧?
在页面加载时调用 $("select[name=post_category]").change() 。
或将其添加到现有的 onload 函数中。
That code is javascript, right?
Call $("select[name=post_category]").change() on page load.
or add it to your existing onload function.