連想インデックスと JavaScript について混乱しています。
私のJavaScriptでは、これを行います:
$("input[type=button]").click(function () {
var checked = {};
$('input[type=checkbox]').each(function() {
if ($(this).is(':checked')) {
checked[$(this).attr('name')] = $(this).val();
}
});
var value = [];
value.push($(this).siblings("input[type=text]").val());
$.ajax({ url: "scripts/php/generatehtml.php",
data: {action: value},
type: 'post',
dataType: "json",
success: ...<cut for brevity>});
したがって、私の PHP コードでは、次のようにします。
if (isset($_POST['action']) && !empty($_POST['action'])) {
var_dump($_POST['action']);
}
そして、これを取得します:
array(1) {
[0]=>
string(5) "12277"
}
ご覧のとおり、これはインデックス付き配列です。連想配列が必要です。しかし、私が次のようなことをするときはいつでも:
value['id'] = $(this).siblings("input[type=text]").val()
何も送信されません。
私は Ajax があまり得意ではありません。
注: 他の ajax 配列の回答も確認しましたが、私の質問には回答していないと思います。