2015-02-23 58 views
0

:)所以我試圖創建一個用戶問卷類型的窗體,它不必發送給任何人只要顯示一個div一旦某些單選按鈕被選中,如果他們某些單選按鈕arent檢查然後顯示不同的div,但也當網頁打開/刷新沒有我想要顯示的div的顯示(如果這是有道理的?)。我在這裏發現了一些代碼嘗試,但它並沒有爲我工作,我是一個Jobery的小白,但希望任何人都可以闡明我的問題。請在下面找到我的代碼。如果選中某個單選按鈕,則顯示div div將顯示不同的div?

Jquery?

if($('input[value=yes1]:checked, 
input[value=yes2]:checked, 
input[value=yes3]:checked, 
input[value=yes4]:checked').length == 4){ 

$("#correct").show(); 

}else{ 

$("#correct").hide(); 

HTML

<div class="row"> 
<div class="left"> 

    <div class="right answer"> 
     <div class="leftradio"> 
      <input type="radio" id="yes1" value="yes1" name="iCheck1"> 
      <label>Yes</label> 
      </input> 
     </div> 

     <div class="rightradio"> 
      <input type="radio" id="no1" name="iCheck1"> 
      <label>No</label> 
      </input> 
     </div> 

    </div> 

</div> 
<div class="right"> 

    <div class="right answer"> 
     <div class="leftradio"> 
      <input type="radio" id="yes2" value="yes2" name="iCheck2"> 
      <label>Yes</label> 
      </input> 
     </div> 

     <div class="rightradio"> 
      <input type="radio" id="no2" name="iCheck2"> 
      <label>No</label> 
      </input> 
     </div> 

    </div> 
</div> 

是 沒有 是 沒有

CSS

#correct{width:100%; height:50px; background:green; display:none;} 
#incorrect{width:100%; height:50px; background:red; display:none;} 
+1

首先,是的;這是jQuery。此外,我可以建議使用一些標點符號並稍微分解一下句子,這可以讓我們更清楚地理解你的問題。這是一個JavaScript/jQuery問題:在14分鐘後(即使我猜這個評論),它沒有得到回答(即使有猜測),表明沒有人知道你想要什麼。請:假設我們對您的代碼或您的意圖一無所知。清楚地說明你想要發生什麼(檢查哪個收音機應該有什麼效果?)以及你自己的嘗試出了什麼問題)。 – 2015-02-23 15:25:33

回答

0

我認爲這就是你要找的。我必須將「正確」答案的數量更改爲兩個,因爲這是您擁有的所有html。

JS:

$("input").on("click", function() { 
    if($('input[value=yes1]:checked, input[value=yes2]:checked').length === 2){ 
     $("#correct").show(); 
    }else{ 
     $("#correct").hide(); 
    } 
}); 

工作JS小提琴:http://jsfiddle.net/akj84vrq/12/

+0

這正是我想要的非常感謝!對於所有我的不好的標點符號,我很着急:| – ZWR 2015-02-23 15:37:38

+0

正確,輕微的問題:|該代碼適用於JSfiddle,但是當我插入到一個活的HTML/PHP文件它不工作? – ZWR 2015-02-23 15:54:56

+0

你可以檢查他們是否有任何JS錯誤?嘗試在代碼中添加'alert'或'console.log'以查看它是否得到評估......如果在console.log打印中沒有看到警報,那麼您知道您的JS沒有得到正確的評估或者甚至可能根本沒有運行。 http://jsfiddle.net/akj84vrq/14/ – NateW 2015-02-23 16:00:22

0

一點點這樣的事情可能會得到你想要的東西。 http://jsfiddle.net/uu512erm/

聽收音機輸入的變化事件通過$('input:radio').change(function(){} 然後只是添加里面的邏輯。

0

我不確定這可以通過CSS來完成。

現在,您正在檢查代碼中不存在的某些值/元素(即input[value=yes3]:checked,您沒有輸入該值,請自行檢查)。

我不明白你要完成什麼,但我還是會盡力幫助,並因爲你是新的,讓我們保持它很簡單:

if ($('input[value=yes1]').is(':checked') && $('input[value=yes2]').is(':checked')) { 
    // this will fire only if input with values yes1 and yes2 is checked 
    $('div_to_show').show(); // put your own selectors here 
    $('div_to_hide').hide(); // put your own selectors here 
} 

if ($('input[value=no1]').is(':checked') && $('input[value=no2]').is(':checked')) { 
    // this will fire only if input with values no1 and no2 is checked 
    $('some_other_div_to_show').show(); // put your own selectors here 
    $('some_other_div_to_hide').hide(); // put your own selectors here 
} 

if ($('input[value=yes1]').is(':checked') && $('input[value=no1]').is(':checked')) { 
    # this will fire only if both input with values yes1 and no1 is checked 
    $('some_other_div_to_show').show(); # put your own selectors here 
    $('some_other_div_to_hide').hide(); # put your own selectors here 
} 

# and so on... just type in your conditions and that's it. 

如果你需要一些其他的情況下,只使用這種模式添加它們,或者在所有場景中構建一個複雜的if語句。

相關問題