Jquery 通过切换其他选择标记来隐藏和显示选择标记

Jquery 通过切换其他选择标记来隐藏和显示选择标记,jquery,Jquery,我想根据我的第一个选定选项显示一个选择选项标记。 这是我的工作 但是我不认为这是一个完美的编码,因为例如,如果主选择选项的值包含两个或多个字母,比如first opt,那么我的代码就不再工作了。因此,我认为如果我能得到主选项的类值会更好。但我不能让它工作。请帮忙 `从代码中,您可以改用className $("#main").change(function() { var val = this.className; $(".sub").hide(); if( val )

我想根据我的第一个选定选项显示一个选择选项标记。 这是我的工作

但是我不认为这是一个完美的编码,因为例如,如果主选择选项的值包含两个或多个字母,比如first opt,那么我的代码就不再工作了。因此,我认为如果我能得到主选项的类值会更好。但我不能让它工作。请帮忙


`

从代码中,您可以改用className

$("#main").change(function() {
    var val = this.className;
    $(".sub").hide();

    if( val ) {
        $("#sub_" + val).show();   
    }
})

您的代码现在可以工作了,因为您没有在选项中添加value属性。所以$this.val返回您的选项文本值

在选项中添加的标记值属性中进行了一些更改:


希望这对你有帮助

$(".sub").hide();

$("#main").change(function() {

    var val = $(this).val().substring(0, $(this).val().indexOf(' '));

    $(".sub").hide();

    if( val ) {
        $("#sub_" + val).show();   
    }
})

看看这个

你需要在问题中分享你的代码。。。不仅仅是一个演示链接到其他网站,显示您的代码可以被破坏。请至少发布足够的代码来演示问题。除此之外,工作示例的链接也很好。我认为您已经以正确的方式实现了它。。。编程逻辑取决于个人思维,这可能有所不同。你到底有什么问题?哦,对不起。我第一次来这里,所以当它询问代码时,我不知道该怎么办,因为我没有看到其他人在共享JSFIDLE时发布他们的代码。我的bad@BhushanKawadkar当前位置如果我有其他选项,则它将不再工作。我认为如果代码更灵活一些会更好。所以我试着得到选项tag的类值谢谢。它工作得很好
<select id="main">
    <option>all</option>
    <option class="first" value="first">first opt</option><!--value added-->
    <option class="second" value="second">second opt</option><!--value added-->
    <option class="third" value="third">third opt</option><!--value added-->
</select>

<select id="sub_first" class="sub">
    <option>sub 1</option>
    <option>sub 1</option>
</select>

<select id="sub_second" class="sub">
    <option>sub 2</option>
    <option>sub 2</option>
</select>

<select id="sub_third" class="sub">
    <option>sub 3</option>
    <option>sub 3</option>
</select>
$(".sub").hide();

$("#main").change(function() {

    var val = $(this).val().substring(0, $(this).val().indexOf(' '));

    $(".sub").hide();

    if( val ) {
        $("#sub_" + val).show();   
    }
})