2013-03-05 59 views
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 select中的Intervalle,這意味着間隔數據的類型只能是日期或數字(這是一個示例)。 所以我proceded這樣:

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只需要第一個值:/任何暗示。提前致謝。

+0

什麼是'#contain' ..?無處在你的html .. – Anujith 2013-03-05 08:23:30

+0

只是一個簡單的div,其中我把結果

2013-03-05 08:26:05

+0

這給了我所選項目的價值 – 2013-03-05 08:51:52

回答

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/

+0

這需要JQuery – 2013-03-05 08:37:02

+1

以及你在你的解決方案中使用jQuery已經不是嗎?也是你用jQuery標記你的問題 – gregjer 2013-03-05 08:38:22

+0

沒錯,我只是強調;)這不是我的問題的方式;) – 2013-03-05 08:40:28

0

我敢肯定,你有你的jQuery包括路徑的問題。因爲我用簡單的alert替換了$("#contain").html,並且一切運行良好。

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; 
     }