根据下拉菜单默认隐藏元素

发布于 2024-10-17 23:07:54 字数 477 浏览 3 评论 0原文

我有一个表单元素,它的隐藏或显示取决于表单中的下拉元素。我已经能够在下拉列表更改时更改可见性。

这是我现在的代码:

$("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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

送舟行 2024-10-24 23:07:54

试试这个:

$('select[name="post_category"]').change(function() {
    $('dt#post_url-label, dd#post_url-element').toggle( +this.value === 3 );
}).change();

想法是立即触发更改事件。您应该能够通过使用 triggerHandler('change') 或仅 change() 来实现这一点。

现场演示1: http://jsfiddle.net/XE78E/
现场演示2: http://jsfiddle.net/XE78E/1/

2. 演示显示,如果预选第三个选项,则该元素可见。

Try this:

$('select[name="post_category"]').change(function() {
    $('dt#post_url-label, dd#post_url-element').toggle( +this.value === 3 );
}).change();

The idea is to trigger the change event immediately. You should be able to achieve that by using either triggerHandler('change') or just change().

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.

蓝海 2024-10-24 23:07:54

那么为什么你不检查页面加载是否 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.

亢潮 2024-10-24 23:07:54

该代码是 javascript,对吧?
在页面加载时调用 $("select[name=post_category]").change() 。

window.onload = function() { $("select[name=post_category]").change() }

或将其添加到现有的 onload 函数中。

That code is javascript, right?
Call $("select[name=post_category]").change() on page load.

window.onload = function() { $("select[name=post_category]").change() }

or add it to your existing onload function.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文