0

所以我有 2 个选择标签,一个选择数据类型,另一个选择该数据的形式。第一个标签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>

第二个标签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>

我需要获得两个选择标签的组合才能显示某个输入。解释更多:如果我在 Saisie 选择中选择 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

我不确定你的逻辑,但你可以尝试这样的事情:

$('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 回答
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 回答