我有一份问卷表格,答案是肯定还是否定。只有勾选了答案时,有些答案才与下一个问题相关联。我想检查是,然后它显示了与该问题相关的下一个问题。
例如,你想从我这里购买通话时间是/否如果是,你想要多少通话时间? 如果没有显示多少航空时间你想要问题只看到下一个问题可能会问你想在未来购买我们的通话时间还是什么?我使用wordpress自定义插件。但是想要这个剧本。
PHP page1:
$output = '<script type="text/javascript" language="javascript"> function output()
{ alert("testing RadioButton events");
}</script>';
PHP page cont…:
$output .= '<tr style="display:none"><td class="celllabel">Would you like to buy airtime from me? </td><td>'. doradiobutton('airtime',array('Yes','No'), 0,'output()') . '</td></tr>';
PHP page cont…:
$output .= '<tr><td class="celllabel">For how much airtime would you like?</td><td>'.ppi_dodropdown(ppi_dorange(5,200,5), 'airtimeamount', '[\'select\',\'validation\',null, null, /--select--/, \'Please select aitime amount\']'). '</td></tr>';
PHP function page:
function ppi_doradiobutton($name, $values, $checkedarray, $javascriptaction = null, $textvalue = null){ if($textvalue) { for ($x=0;$x<count($values);$x++) { if ($textvalue == $values[$x]) {
$output .= '<input type="radio" name="'.$name.'" value="'.$values[$x].'" checked="checked" '. $onclickaction .' /> '.$values[$x].'<br />' ; } } $output .= '<input type="radio" name="'.$name.'" value="'.$values[$x].'"' . $onclickaction . '/> '.$values[$x].'<br />' ; } } return $output; } else { $onclickaction = null; if ($javascriptaction!=null) { $onclickaction = 'onclick="' . $javascriptaction .'"'; }
for ($x=0;$x<count($values);$x++) { if ($checkedarray == null) { $output .= '<input type="radio" name="'.$name.'" id="'.$name.'" value="'.$values[$x].'"' . $onclickaction . ' > '.$values[$x].'<br />' ; } else if ($checkedarray == $x) { $output .= '<input type="radio" name="'.$name.'" id="'.$name.'" value="'.$values[$x].'" checked="checked" '. $onclickaction .'/> '.$values[$x].'<br />' ;
else { $output .= '<input type="radio" name="'.$name.'" id="'.$name.'" value="'.$values[$x].'"' . $onclickaction . '/> '.$values[$x].'<br />' ; } } return $output; } } }
答案 0 :(得分:1)
如果你能控制html和css,那么用javascript / jquery做这件事会非常简单。
在点击时需要显示的每个元素上放一个类,例如:class =“interactive”
理想情况下,这应该在包含元素(如div或fieldset)
上将.interactive设置为显示:css中的'none'
这将隐藏所有包含的元素。
然后我们给所有包含元素的id属性与单选按钮的name属性相同。
例如:
<input type="radio" name="q1" value="true" id="q1_t"><label for="q1_t">True</label>
<input type="radio" name="q1" value="false" id="q1_f"><label for="q1_f">False</label>
<div class="interactive" id="q1">
<input type="text" name="how_many" value="" id="how_many" /><label for="how_many">How Many?</label>
</div>
然后在你的javascript / jquery中:在所有单选按钮上放置一个单击处理程序,检查值是true还是false,获取名称 - 如果为true则显示:阻止具有该名称id的容器,如果为false则display:none具有该名称id的容器:
$('input:radio').change(function(){
var name = $(this).attr('name');
var val = $('input[name='+name+']:checked').val();
if(val == 'true')
{
$('#'+name).css('display:block');
}
else
{
$('#'+name).css('display:none');
}
});
我没有检查过这段代码,只是自上而下写了。但它至少应该给我一个良好的起点,我希望。
答案 1 :(得分:0)
您始终可以使用“:checked”JQuery选择器来检查是否选中了半径按钮。在这里,我举一个例子:
var yourvar = $('input[name=thenameofyourinput]:checked').val();
假设,它是一个半径按钮,它应该有一个默认值,该值应该是yes或no。因此,您从该按钮获取值并将其发布到检查已发送值的页面。因此,您将在PHP页面中获得该页面的输出,然后如果值为yes,您将显示一个新问题,或者甚至更好,您可以通过检查{J}中的值来检查JQuery。 1}}是“是”。 你可以在这里找到更多关于“:checked”JQuery选择器的信息: http://api.jquery.com/checked-selector/