0

したがって、2 つの選択タグがあり、1 つはデータ型を選択し、もう 1 つはそのデータの形式を選択します。最初のタグDonnées

<select style="display: block;" name="Donnee" id="Donnee" onchange="getComboB(this)" required>
<option value="">Choisir ...</option>
<option value="Alphanumérique">Alphanumérique</option>
<option value="Numérique">Numérique</option>
<option value="Booléen">Booléen</option>
<option value="Date">Date</option>
</select>

2 番目のタグSaisie

<select style="display: block;" name="Saisie" id="Saisie" onchange="getComboA(this)" required>
<option value="">Choisir ...</option>
<option value="Libre">Valeur Libre</option>
<option value="Multiples">Valeurs Multiples</option>
<option value="Intervalle">Intervalle</option>
</select>

特定の入力を表示するには、2 つの select タグの組み合わせを取得する必要があります。詳細を説明するには: Saisie select で Intervalle を選択した場合、これは間隔を意味し、データの種類は日付または数値のみにすることができます (これは例です)。だから私はこのように進んだ:

value_Donnee='';
function getComboB(sel) {
    var value = sel.options[sel.selectedIndex].value; 
    value_Donnee = value;
    }
function getComboA(sel) {
    var value = sel.options[sel.selectedIndex].value; 

    if(value == "Libre")
    {
    $("#contain").html('');
    }

    else if(value == "Multiples")
    {
    $("#contain").html('');
    $("#contain").html('Multiples');
    }
    else
    {
    $("#contain").html('');
        if(value_Donnee == "Numérique")
            {
            $("#contain").html('');
            $("#contain").html('Num');
            }
        else if (value_Donnee == "Date")
            {
            $("#contain").html('');
            $("#contain").html('Date');
            }
        else
            {
            $("#contain").html('');
            $("#contain").html('Le type des données ne peut être que Date ou Numérique');
            }

    }

}

問題は、最初の値のみを取る getComboB を考慮していないことです:/任意のヒント。前もって感謝します。

4

3 に答える 3

0

これがあなたの言っていることかどうかはわかりませんが、これを試すことができます:

      $(document).ready(function(){
        $('#Donnee, #Saisie'). change(function(){
          $('#contain').html(test());
        });
      });

      function test(){
        var donnee = $('#Donnee option:selected').val();
        var saisie = $('#Saisie option:selected').val();
        if (donnee == 'Numérique'){
          donnee = 'Numérique';
        } else if (donnee == 'Date'){
          donnee = 'Date';
        } else {
          donnee = 'Le type des données ne peut être que Date ou Numérique';
        }
        return saisie + ' ' +donnee;
      }
于 2013-03-05T09:01:34.387 に答える
0

あなたのロジックについてはよくわかりませんが、そのようなことを試すことができます:

$('select').change(function(){
    var donnee = $('#Donnee').val();
    var saisie = $('#Saisie').val();

    if(saisie == "Libre")
    {
        $("#contain").html('');
    }
    else if(saisie == "Multiples")
    {
        $("#contain").html('Multiples');
    }
    else
    {
        if(donnee == "Numérique")
        {
            $("#contain").html('Num');
        }
        else if (donnee == "Date")
        {
            $("#contain").html('Date');
        }
        else
        {
            $("#contain").html('Le type des données ne peut être que Date ou Numérique');
        }
    }
});

フィドルhttp://jsfiddle.net/Bb6sH/

于 2013-03-05T08:31:25.210 に答える
0

パスを含むjqueryに問題があると確信しています。$("#contain").htmlシンプルなものに置き換えて、alertすべてうまくいったからです。

于 2013-03-05T08:45:56.617 に答える