0

2つのラジオボタンを作成しました:

<form>
        <p><input type="radio" name="center" value="center">Center</p>
        <p><input type="radio" name="right" value="right">Lower Right</p>
    </form>

divの位置を移動するjqueryスクリプトは機能していますが、2つの問題があります。

1)ラジオボタンをチェックすると、クリックイベントに必要な別の名前を使用しているため、他のボタンをチェックしてもチェックが外れません。

2)中央の位置と右下はハードコーディングされています。

任意のアイデアをいただければ幸いです。

<script>
            $(function(){
                $(init);
                function init(){
                    $('#target').draggable();
                }
                $('input[name=center]:radio').click(function(){
                    $('#target').css({
                        position:'absolute',
                        top:200 + 'px',
                        left:45 + 'px'
                    });
                });
                $('input[name=right]:radio').click(function(){
                    $('#target').css({
                        position:'absolute',
                        top:550 + 'px',
                        right:200 + 'px'
                    });
                });
            });
    </script>
4

1 に答える 1

4

ID 属性を使用して、クリック イベント ハンドラー内の要素を区別します。ラジオボタンの名前はそのままにします。そうすれば、ソリューションをハックする必要はありません。ブラウザのデフォルト機能をそのまま使用できます。

<form>
    <p><input type="radio" id="center" name="someFormValue" value="center" />Center</p>
    <p><input type="radio" id="right" name="someFormValue" value="right" />Lower Right</p>
</form>
于 2012-09-13T00:14:13.767 に答える