2

ラジオボタン付きの基本的なテーブルがあります。「td」をクリックしたときにラジオをチェックする「td」でもonclickがあります。「td」をクリックしてもエラーメッセージは非表示になりません。実際のボタンがクリックされたときにのみ非表示になります。これが私のコードです。何か案は?jquery ファイルをローカルに保存しています。

<html>
    <head>
        <script src="jquery-latest.js"></script>
        <script type="text/javascript" src="jquery.validate.js"></script>
    <script>
        $(document).ready(function(){
            $("#myform").validate({
            errorPlacement: function(error, element) {
                    error.appendTo(element.parent("td").prev("td") );
            },
            debug:true
        })
    });

    </script>
</head>

<body>
<form id="myform" action="/login" method="post">
<table border="1">
<tr>
    <td width="30%">Attribute 1<br /></td>
        <td width="10%" onclick="$(this).find('input:radio').attr('checked','checked');" /><INPUT  type="radio" id="22121GRID" name="SPGRID_1" value="5" class="required"  /></td>
        <td width="10%" onclick="$(this).find('input:radio').attr('checked','checked');" /><INPUT  type="radio" id="22121GRID" name="SPGRID_1" value="4" class="required"  /></td>
        <td width="10%" onclick="$(this).find('input:radio').attr('checked','checked');" /><INPUT  type="radio" id="22121GRID" name="SPGRID_1" value="3" class="required"  /></td>
        <td width="10%" onclick="$(this).find('input:radio').attr('checked','checked');" /><INPUT  type="radio" id="22121GRID" name="SPGRID_1" value="2" class="required"  /></td>
        <td width="10%" onclick="$(this).find('input:radio').attr('checked','checked');" /><INPUT  type="radio" id="22121GRID" name="SPGRID_1" value="1" class="required"  /></td>
</tr>
<tr><td><input type="submit" value="Submit" /></td></tr>
</table>
</form>


</body>
</html>
4

1 に答える 1

1

javascript経由でチェックを変更するので.valid()、バリデーターのメソッドを呼び出します。

以下を使用できます

<td width="10%" onclick="$(this).find('input:radio').attr('checked','checked').valid();" />            <INPUT  type="radio" id="22121GRID" name="SPGRID_1" value="5" class="required"  /> </td>

また

$('td').click(function(){
$(this).find('radio').attr('checked','checked').valid();
});
于 2012-10-20T06:33:42.817 に答える