0

我有一份问卷调查表,答案是是或否。仅当您勾选“是”时,某些答案才会与下一个问题相关联。我想检查是,然后它向我显示与该问题相关的下一个问题。

例如,您想向我购买通话时间是/否 如果是,您想要多少通话时间?如果没有,请不要显示您想要多少通话时间问题只看到下一个问题可能会问您想在未来向我们购买通话时间吗?我使用 wordpress 自定义插件。不过想要剧本。

PHP页面1:

$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 .'  />&nbsp;'.$values[$x].'<br />' ;        } }   $output .= '<input type="radio" name="'.$name.'" value="'.$values[$x].'"'  . $onclickaction .  '/>&nbsp;'.$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 . ' >&nbsp;'.$values[$x].'<br />' ;  } else if ($checkedarray == $x) { $output .= '<input type="radio" name="'.$name.'" id="'.$name.'" value="'.$values[$x].'" checked="checked"  '. $onclickaction .'/>&nbsp;'.$values[$x].'<br />' ;
else {      $output .= '<input type="radio" name="'.$name.'" id="'.$name.'" value="'.$values[$x].'"'  . $onclickaction .  '/>&nbsp;'.$values[$x].'<br />' ; } }   return $output; }  } }
4

2 回答 2

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中:在所有单选按钮上放置一个点击处理程序,检查值是真还是假,获取名称 - 如果为真则显示:阻止具有该名称的ID的容器,如果为假则显示:无具有该名称 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');
     }


});

我没有检查过这段代码,只是自上而下写的。但我希望它至少应该给出一个好的起点。

于 2012-10-25T15:50:18.600 回答
0

您总是可以使用 ":checked" JQuery 选择器来检查是否选中了半径按钮。在这里,我给你举个例子:

var yourvar    = $('input[name=thenameofyourinput]:checked').val();

假设它是一个半径按钮,它应该有一个默认值,该值应该是是或否。因此,您从该按钮获取值并将其发布到检查发送值的页面。因此,您将在 PHP 页面中获得该页面的输出,然后如果值为“是”,您将显示一个新问题,或者更好的是,您可以使用 JQuery 进行检查,通过检查里面的值yourvar是否为“是的”。你可以在这里找到更多关于 ":checked" JQuery 选择器的信息:http: //api.jquery.com/checked-selector/

于 2012-10-25T15:35:01.203 回答