1

PHPでechoコマンドを使用して作成されたフォームがあります。正常に表示されています。フォームのラジオ ボタンのクリックを検出し、各ボタン グループに対応するハイパーリンク/アンカーを表示する JavaScript がありますが、これは機能していません。

しかし、php を使用せずに html のみでフォームを作成すると、完全に機能します。助けてください。

フォーム作成

echo("<form name ='input' action = 'result.php' method = 'POST'>");
while($row = mysqli_fetch_array($result,MYSQLI_NUM))
{
    echo(($i+1)." ".$row[1]."<br>");
    echo("
    <input type = 'radio' value = $row[2] name = '$i'>$row[2]&nbsp&nbsp&nbsp&nbsp
    <input type = 'radio' value = $row[3] name = '$i'>$row[3]<br>
    <input type = 'radio' value = $row[4] name = '$i'>$row[4]&nbsp&nbsp&nbsp&nbsp
    <input type = 'radio' value = $row[5] name = '$i'>$row[5]&nbsp&nbsp
    <a id='$i' href='javascript:clear($i)'>Reset</a><br>");
    $i++;
    $z[]=$row[6];
}

脚本

$('input:radio').click(function() { 
    var n = $(this).attr('name');
    var k ='#' + n;
    alert($(this).attr('name')); 
    $(k).show(400);
    });
4

3 に答える 3

2

に変更$('input:radio')してみることができ$('input[type="radio"]')ます。

これを試して

$('input[type="radio"]').on('click', function() { 
    var n = $(this).attr('name');
    var k ='#' + n;
    alert($(this).attr('name')); 
    $(k).show(400);
});
于 2013-10-04T15:38:26.240 に答える
0
$('body').on('click','input:radio',(function() { 
  var n = $(this).attr('name');
  var k ='#' + n;
  alert($(this).attr('name')); 
  $(k).show(400);
});

動的に作成された要素をクリックするときは、イベント委任を使用する必要があります。

于 2013-10-04T15:38:25.140 に答える
0

うーん...あなたの問題は$row、二重引用符で囲まれているため、配列に中括弧を付ける必要があることです

echo("<form name ='input' action = 'result.php' method = 'POST'>");
while($row = mysqli_fetch_array($result,MYSQLI_NUM))
{
    echo(($i+1)." ".$row[1]."<br>");
    echo("
    <input type = 'radio' value = '{$row[2]}' name = '$i'>{$row[2]}&nbsp&nbsp&nbsp&nbsp
    <input type = 'radio' value = '{$row[3]}' name = '$i'>{$row[3]}<br>
    <input type = 'radio' value = '{$row[4]}' name = '$i'>{$row[4]}&nbsp&nbsp&nbsp&nbsp
    <input type = 'radio' value = '{$row[5]}' name = '$i'>{$row[5]}&nbsp&nbsp
    <a id='$i' href='javascript:clear($i)'>Reset</a><br>");
    $i++;
    $z[]=$row[6];
}
于 2013-10-04T15:40:52.107 に答える