2015-02-23 73 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语句。

相关问题