2016-02-10 33 views
0

首先,請仔細閱讀。顯然,我不是一個HTML或JavaScript的人。我是一個PHP的人,順便說一句。我吮吸HTML和javscript.and請不要建議AJAX。嗨,我有單選按鈕,一個名爲Cowboybtn的值(「牛仔」,「不牛仔」),它總是不斷出現在頁面上,另一個叫值雪茄(「雪茄」,「沒有雪茄」)。只有當我從下拉菜單中選擇顏色時纔會出現雪茄煙。當我點擊牛仔按鈕時,cowboybtn不會對雪茄棒產生影響。它將繼續出現,因爲我已經從drodpdownmenu中選擇了顏色 。有多個條件的單選按鈕不工作 - 否AJAX

但是,當我從下拉菜單中更改爲「others」時,雪茄煙會假定消失。但它確實消失了。但它再次顯示,當我點擊牛仔按鈕。我嘗試通過使用div編碼某些東西來隱藏雪茄,並且不顯示任何東西,但它很有效,但不幸的是,如果選擇顏色(這是我之前的選擇),它將不會像往常一樣再次出現。

如何設置if條件或任何使其工作的條件,以便在「顏色」模式下(從下拉菜單中選擇顏色後),當我點擊牛仔時,雪茄仍然沒有任何效果。當我更改爲「其他」模式(從下拉菜單中選擇其他人後),當我點擊牛仔時,雪茄按鈕會消失。這就像在同一個按鈕上的多個條件。

爲了讓事情更容易理解,如果我從dropdowmenu A中選擇魚,我已經有單選按鈕B,並且按鈕C只在我選擇魚之後出現。當我點擊按鈕B時,沒有任何東西影響按鈕C(這很好)。現在,當我從下拉菜單A更改爲狗時,按鈕B仍然像平常一樣出現,而按鈕C消失(這很好)。然後問題是,當我點擊按鈕B時,按鈕C再次出現。希望你得到它。我無法發佈整個腳本,因爲它太複雜了。任何幫助都可以。提前致謝。

HTML的cowboybtn

<input type="radio" name="optionsalerent" value="cowboy" 
id="optionsalerent_0" onChange="ProductSelectionsale(this)" > 
cowboy 

HTML的cigarbtns

<tr> 
      <td><div id="condition_2" style="display: none;">category</div> 

      <td><div id="condition_0" style="display: none;"> 
      <input type="radio" name="condition" value="cigar" id="condition_0"> 
      cigar</div> 
      <div id="condition_1" style="display: none;"> 
      <input type="radio" name="condition" value="no cigar" id="condition_1"> 
      no cigar</div></td></tr> 
     <br> 

的JavaScript

<script type="text/javascript"> 
    function ProductSelectionmain(element) { 
      var selectedValue = element.value 
       ProductSelectionsale(element,selectedValue); 
       if(selectedValue == "colours") { 
          document.getElementById("condition_0").style.display = "inline"; 
        document.getElementById("condition_1").style.display = "inline"; 
         document.getElementById("condition_2").style.display = "inline"; 

的JavaScript

function ProductSelectionsale(element,selectedValue) { 
       var selectedValue2 = element.value 

       if(selectedValue2 == "cowboy" && selectedValue == "Others"){ 
      document.getElementById("condition_0").style.display = "none"; 
       document.getElementById("condition_1").style.display = "none"; 
        document.getElementById("condition_2").style.display = "none"; 
    document.getElementById("condition_directowner").style.display = "none"; 
         } 
else 
{ 
     if(selectedValue2 == "cowboy"){ 
      document.getElementById("condition_0").style.display = "inline"; 
       document.getElementById("condition_1").style.display = "inline"; 
        document.getElementById("condition_2").style.display = "inline"; 
    document.getElementById("condition_directowner").style.display = "inline"; 


}}} 

值「其他」下面是從功能ProductSelectionmain(元素)

if(selectedValue2 == "cowboy" && selectedValue == "Others") 

我不是100%肯定,如果即時通訊做正確,但邏輯是有它認爲

+1

'condition_1'和'condition_0'被複制。瀏覽器不知道他需要顯示或隱藏什麼元素,** id必須是唯一的**。 –

+0

嗨tqs @MarcosPérezGude。抱歉問,這不是唯一的嗎?因爲第一個有一個數字「1」,另一個以數字「0」結尾? – kmaJJ

+0

不是。您有一個''和一個''div id =「condition_1」>''。這是錯誤的。 –

回答

0

頁上的每一個元素必須具有唯一的id屬性(如果它具有原因),即使該元素不同。在你的情況你有

<td> 
    <div id="condition_0" style="display: none;"> 
     <input type="radio" name="condition" value="cigar" id="condition_0"> 
    cigar 
    </div> 

其中<div><input>元素具有相同的ID

+0

tqs @Littlemyx。我需要先測試它,但林不知道它是否工作,因爲我的直覺告訴我,我需要從另一個函數外部的函數中獲取變量,並將它放在if語句中...如果像 if (selectedValue ==「cowboy」&& selectedValue =「others」){//其餘的將不會顯示} else {//顯示} ..可能.. btw tqs ..讓我先檢查一下。 – kmaJJ