0

チェックしてajax経由で送信できるチェックボックスのセットを作成しようとしています。

私が理想的にやりたいのは、ajaxを介していくつかの情報をphpスクリプトに送信することですthe checkbox that has been checkedid

idURLに基​​づいているので、を使用して取得できます$_GET['id']

したがって、ユーザーが両方のチェックボックスをオンにした場合、phpスクリプトに送信する必要のある値は次のようになります。

53 57 1-ここで、この値はURLの値です。

私はこれまでに次のものを持っています:

<input type="checkbox" name="test[]" value="53" id="part_shipping" />
<input type="checkbox" name="test[]" value="57" id="part_shipping" />
<input name="confirm" type="button" value="confirm" />

<script type="text/javascript" src="http://code.jquery.com/jquery.js"></script>
<script type="text/javascript">

$('input[type=button]').click( function() {
   $(":checked").each(function() {
   var value = $(this).val();
         id = 'id:1';
         data = 'shipping:' + value;
         console.log(data);
   });
    $.post("ajax.php", data);   
});

</script>

データ内にIDを追加して、次のようにするにはどうすればよいですか。 shipping:53 shipping:57 id:1

4

1 に答える 1

0

<input>タグがまだの中にない場合は、次のタグ<form>を追加します。

<form id="myForm">
    ...
    <input type="checkbox" name="test[]" value="53" id="part_shipping" />
    <input type="checkbox" name="test[]" value="57" id="part_shipping" />
    <input name="confirm" type="button" value="confirm" />
    ...
</form>

これで、jQueryを使用.serialize()して、「name1 = value1&name2 = value2&name3=value3」などの形式のデータ文字列を作成できます。名前はHTMLで指定されたとおりです。

$(function() {
    $('input[type=button]').click( function() {
        $.post("ajax.php", $("#myForm").serialize());   
    });
});

チェックボックスは、チェックされている場合にのみシリアル化された形式で表示されます。そして、私はボタンがシリアル化に含まれないと言っているのは正しいと思います。

この方法の利点は、スクリプトがフォームのデザイン変更に応答することです。フィールドを追加または削除する場合、JavaScriptを変更する必要はありません。

于 2012-06-30T10:15:36.477 に答える