0

私はこの問題に数時間取り組んできました。

基本的に、私がする必要があるのは、次のまたは同様のHTMLを取得することです。

<div id="excpdivs">
<div class="excpdiv" id="excpdiv0">
      Date: <input name="excp[0][date]">
      Open:  <input name="excp[0][open]">
      Close: <input name="excp[0][close]">
</div>
<div class="excpdiv" id="expdiv1">
      Date: <input name="excp[1][date]">
      Open:  <input name="excp[1][open]">
      Close: <input name="excp[1][close]">
</div>

そして、AJAXを介してphpスクリプトに次のような配列を取得します。

   Array
(
    [0] => Array
        (
            [date] => 2012-09-15
            [open] => 3:00
            [close] => 5:00
        )
   [1] => Array
        (
            [date] => 2012-09-16
            [open] => 2:00
            [close] => 5:00
        )

)

私の主な問題は、入力要素から値を取得することです。私の最近の試みは次のとおりです。

    var results = [];
$(".excpdiv").each(function(){
    var item = {};
    var inpts = $(this).find("input");
    item.date = $(inpts.get(0)).val();
    item.open = $(inpts.get(1)).val();
    item.close = $(inpts.get(2)).val();
    results.push(item);
});

私は正しい方向に進んでいますか、それとも絶望的に道に迷っていますか?

4

3 に答える 3

1

単純なシリアライズかもしれません。

差出人: api.jquery.com/jQuery.post/

Example: Send form data using ajax requests


$.post("test.php", $("#testform").serialize());
于 2013-05-09T09:59:58.663 に答える
0

代わりにこれを行うべきだと思います

var results = [];
$(".excpdiv").each(function(){
    var item = {};
    var inpts = $(this).find("input");
    item.date = $(inpts)[0].val();
    item.open = $(inpts)[1].val();
    item.close = $(inpts)[2].val();
    results.push(item);
});

それが役に立てば幸い...

于 2012-12-05T05:02:28.403 に答える
0

これには jquery は必要ありません。持っている HTML マークアップが php の配列を提供します。ロジックを処理するために php スクリプトにポストするフォームで入力を囲みます。次に、次の方法で情報にアクセスできます。

$_POST['excp'][0]['date']
于 2012-12-05T05:02:29.970 に答える