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 などの要素を含む必要があります

css で .interactive を display:'none' に設定します

これにより、含まれているすべての要素が非表示になります。

次に、含まれるすべての要素に、ラジオ ボタンの name 属性と同じ id 属性を与えます。

例えば:

    <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 かを確認し、名前を取得します。その名前の 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();

これが半径ボタンであると仮定すると、デフォルト値が含まれている必要があり、その値はyesまたはnoのいずれかである必要があります。したがって、そのボタンから値を取得し、送信された値をチェックするページに投稿します。したがって、PHPページにそのページからの出力があり、値がyesの場合、新しい質問が表示されます。さらに良いのは、内部の値yourvarが「」であるかどうかをチェックすることで、JQueryでチェックを行うことです。はい"。「:checked」JQueryセレクターの詳細については、http://api.jquery.com/checked-selector/を参照して ください。

于 2012-10-25T15:35:01.203 に答える