0

最初の選択オプションの値に応じて表示される4つのoptgroup選択メニューがあります。私がやりたいのは、関連する一致する選択グループの値とロードを取得することです。ただし、明らかに、グループがすでに選択されている場合は、グループを非表示にして、その場所に新しい選択グループを配置します。

私のjQueryコードは:

$('#subcategory1, #subcategory2, #subcategory3, #subcategory4').hide();

// Hide Orientation Dropdown

$('#orientation').hide();

$('#category').change(function()
{
    $('#orientation').show();

    var CatValue = $("#category").val();

    if (CatValue == '1')
    {
        $("#subcategory1").show();
    }
    if (CatValue == '2')
    {
        $("#subcategory2").show();
    }
    if (CatValue == '3')
    {
        $("#subcategory3").show();
    }
    if(CatValue == '4')
    {
        $("#subcategory4").show();
    }
});

私はこれを書き出すより論理的な方法を見ています。つまり、以前のサブカテゴリの選択などを非表示にします。

前もって感謝します。

4

4 に答える 4

2
var num; 
if (CatValue == '1')
{
    num = 1;     

}
if (CatValue == '2')
{
     num = 2;     
}
if (CatValue == '3')
{
     num = 3;     
}
if(CatValue == '4')
{
     num = 4;             
}
$("#subcategory"+num).show();
于 2012-06-07T13:07:28.833 に答える
2
$('#subcategory1, #subcategory2, #subcategory3, #subcategory4').hide().filter('#subcategory'+CatValue).show();
于 2012-06-07T13:07:53.500 に答える
1
    switch(CatValue)
    {
        case "1": $("#subcategory1").show();
        break;
        case "2": $("#subcategory2").show(); 
        break;
    }

などなど

switch を使用すると、基本的に、数行のコードで大量の if ステートメントを使用できます:)

于 2012-06-07T13:06:53.807 に答える
1
var i=1;
while($("#subcategory"+i).length > 0) { // hide others
    $("#subcategory"+i).hide();
    i++;
}
$("#subcategory"+$("#category").val()).show(); // show current
于 2012-06-07T13:15:46.703 に答える