セレクターを使用してJavaScript
オブジェクトにキーを動的に作成しようとしています:jQuery
{
$("form").children("input[type=hidden]").attr("name"): $("form").children("input[type=hidden]").val()
}
これは壊れています。この方法でキーを動的に作成することは可能ですか?
セレクターを使用してJavaScript
オブジェクトにキーを動的に作成しようとしています:jQuery
{
$("form").children("input[type=hidden]").attr("name"): $("form").children("input[type=hidden]").val()
}
これは壊れています。この方法でキーを動的に作成することは可能ですか?
次の 2 つのステートメントで実行できます。
var obj = {};
obj[$("form").children("input[type=hidden]").attr("name")]
= $("form").children("input[type=hidden]").val();
jQuery セットの再作成を避けるために、個人的には次のように記述します。
var obj = {}, $obj = $("form").children("input[type=hidden]");
obj[$obj.attr("name")] = $obj.val();
これは、jQuery セットに要素が 1 つだけ含まれている場合にのみ意味があることにも注意してください。
一度に複数のフィールドで機能させることもできます。
var obj = {};
$('form > input[type="hidden"]').each(function (i, el) {
obj[el.name] = el.value;
});
隠しフィールドが1つしかない場合の、もう1つのより凝ったバージョン:
var obj = $('form > input[type="hidden"]').serializeArray()[0];