2

すべてのリスト項目をループして JSON オブジェクトを作成しようとして問題が発生しています。

基本的に、私が長期的に達成しようとしているのは、次のような PHP 配列を取得することです。

$positions = array(
1 => 2,
2 => 3,
3 => 4,
4 => 5,
5 => 6,
6 => 1);

後で AJAX を使用して送信できるように、すべてのリスト アイテムを含む JSON オブジェクトを作成する必要があります。次の形式にする必要があります。

[{1:2, 2:3, 3:4, 4:5, 5:6, 6:1}]

私が現在持っているコードは次のとおりです。

    <li data-serial="6" data-newpos="1"></li>

    jsonObj = [];
    $("li.item").each(function() {
            var id = $(this).attr('data-serial');
            jsonObj.push({
                id: $(this).attr('data-newpos')
            });
        });
        alert(JSON.stringify(jsonObj)); 

しかし、これは私が必要としているものではないこの結果を私に与えます:

[{"id":"1"},{"id":"2"},{"id":"3"},{"id":"4"},{"id":"5"},{"id":"6"}]

どんな助けでも大歓迎です!

4

1 に答える 1

3

これを試して:

jsonObj = {};
$("li.item").each(function() {       
               var id = $(this).attr('data-serial');
               jsonObj[ id ] = $(this).attr('data-newpos');
             });

これにより、このフォームのオブジェクトが得られます (data.プロパティが正しいと仮定します) 。

{"1":"2", "2":"3", "3":"4", "4":"5", "5":"6", "6":"1"}
于 2013-04-14T12:37:37.233 に答える