0

いくつかのラジオ ボタンを使用して、選択した後、処理のために値を別のページに投稿しようとしています。スクリプトは次のとおりです。

<script>
function add_new_event(){
$.post('process.php',{

        event_color:document.getElementById('event_color').value,

}
</script>

        <input type="radio" name="event_color" id="event_color" value="#FF0000"> Color A
        <input type="radio" name="event_color" id="event_color" value="#FF6666"> Color B
        <input type="radio" name="event_color" id="event_color" value="#66FF99"> Color C
        <input type="radio" name="event_color" id="event_color" value="#CCFF66"> Color D
        <input type="radio" name="event_color" id="event_color" value="#00CCFF"> Color E
        <input type="radio" name="event_color" id="event_color" value="#996633"> Color F

そして私は成功していません。コードに何か問題がありますか?? ありがとう!

4

3 に答える 3

1

ID は一意である必要があります。すべての要素が同じ ID を持っているため、何かが返されることを期待して、すべての要素をターゲットにしています。

代わりに、名前またはクラスで要素をターゲットにすることができます。

<script type="text/javascript">
    $(function() {
        function add_new_event(){
            var myValue = $('[name="event_color"]').filter(':checked').val();
            $.post('process.php',{ event_color : myValue });
        }
    });
</script>

html :

    <input type="radio" name="event_color" value="#FF0000"> Color A
    <input type="radio" name="event_color" value="#FF6666"> Color B
    <input type="radio" name="event_color" value="#66FF99"> Color C
    <input type="radio" name="event_color" value="#CCFF66"> Color D
    <input type="radio" name="event_color" value="#00CCFF"> Color E
    <input type="radio" name="event_color" value="#996633"> Color F​​​​​​​​​​​​​​​​​

フィドル

于 2012-08-14T06:39:38.387 に答える
0

そのためにjQueryを使用しないのはなぜですか?

$("input[type=radio][name=event_color]:checked")

于 2012-08-14T06:42:21.283 に答える
0

すべてのラジオボタンに同じクラスを割り当ててから、これを使用します

$('.ClassName:checked').val()
于 2012-08-14T06:41:03.457 に答える