0

選択した動的に作成されたラジオボタンの値をdivに表示するのを手伝ってください

ここに私のコードがあります...私のコードで何がうまくいかなかったのか教えてください...ありがとう

<script type="text/javascript">
    var div = $("#show_ans");
    $("input[type='radio']").click(function() {
        var radioVal = $(this).value;
        div.html("radioVal");
    });
</script>

そしてhtmlコードは

$i=0
$sql = mysql_query("SELECT * FROM `question_bank` where `test_name`='$tname' 
AND`posted_by`='$fac'");
if (mysql_num_rows($sql) > 0) 
 while($row2 = mysql_fetch_array($sql))
  {
   if($i<=$maxq){
       ....
       ....
        <table>
     <tr><td colspan=3><?php echo $row2['question'];?></td>
         <td><ul class="menu">
             <li><div id="show_ans" style="display:none"></div>
</li></ul>
         </td>
     </tr>
     <tr><td style="width:250px" align=left>
            <input id="r1" type="radio" name="<?php echo "s_option".$i;?>" value="<?php echo $row2['choice_a'];?>" ><?php echo $row2['choice_a'];?>
         </td>
         <td style="width:250px" align=left>
            <input id="r1" type="radio" name="<?php echo "s_option".$i;?>" value="<?php echo $row2['choice_b'];?>" ><?php echo $row2['choice_b'];?>
         </td>
         <td style="width:250px" align=left>
            <input id="r1" type="radio" name="<?php echo "s_option".$i;?>" value="<?php echo $row2['choice_c'];?>" ><?php echo $row2['choice_c'];?>
         </td>
         <td style="width:250px" align=left>
            <input id="r1" type="radio" name="<?php echo "s_option".$i;?>" value="<?php echo $row2['choice_d'];?>" ><?php echo $row2['choice_d'];?>
         </td>
     </tr>
    </table>
....
....

ラジオ ボタンをクリックすると、対応する div に値が生成され、すべてのループ リピートに対して繰り返されます。よろしくお願いします。

4

3 に答える 3

0

交換してみる

div.Html("radioVal");

div.html(radioVal);

また、イベントを次のように変更できる場合(ただし、オプションで提案可能なもののみ)

$("input[type='radio']").click(function() {

そして、スクリプトを document.ready のように入れます

<script type="text/javascript">
    $(document).ready(function(){        
        var my_div = $("#show_ans");         //change div to my_div
        $("input[type='radio']").change(function() {
           var radioVal = $(this).val();     //This is not value it is val();
           my_div.html(radioVal);
        });
    });
</script>
于 2013-06-06T05:45:42.510 に答える
-1

修正

交換

<li><div id="show_ans" style="display:none"></div>

<li><div class="show_ans" style="display:none"></div>

交換

var div = $("#show_ans"); 
$("input[type='radio']").click(function() {
var radioVal = $(this).value;
div.Html("radioVal");

var div = $(".show_ans"); 
$("input[type='radio']").click(function() {
var radioVal = $(this).value;
div.html(radioVal);

上記の変更は、同じ ID を持つ複数の dom をwhile使用してループ内で自分自身を繰り返しているため、許可されていないためです。したがって、に変換して、コードの更新も参照してください。DIV idclassjQuery

また、イベントが発生したときにユーザーに表示されるように、必ず追加してインラインで.show()削除してください。div display:none;cssclick

div.show();

コメント 回答

$("input[type='radio']").click(function()
{
    var div = $(this).closest('table').find(".show_ans");
    var radioVal = $(this).val();
    div.html(radioVal).show();
});

私がしたことは、私たちが特定し、それを表示することの最も近くparent tableと内部で選択されます。findDOM show_ans div classreplace html

于 2013-06-06T05:52:17.987 に答える