0

コードのスニペットは次のとおりです。

  $('.content .form-submit').each(function(index) {
        var id = $(this).attr('id');
        var selector = "#" + id;
  }

上記の変数はうまくいきます。それらは ajax-comments-submit-398 #ajax-comments-submit-398 (または、たまたまページにあるフォーム番号) を正常に返します。問題は、結果を次のオブジェクトに動的に渡す必要があることです (以下の [ID] と [SELECTOR] の代わりに)。

var obj3 = { 
  "ahah": {  
    [ID]: { 
      "url": "/ajax_comments/js", 
      "event": "click", 
      "keypress": null, 
      "wrapper": "comment-form-content", 
      "selector": [SELECTOR], 
      "effect": "ajaxCommentsSubmit", 
      "method": "before", 
      "progress": { 
        "type": "1bar", 
        "message": "Please wait..." 
      }, 
      "button": { 
        "op": "Save" 
      } 
    } 
  } 
}

私が試してみました

var obj3 = { 
  "ahah": {  
    id: { 
      "url": "/ajax_comments/js", 
      "event": "click", 
      "keypress": null, 
      "wrapper": "comment-form-content", 
      "selector": selector, 
      "effect": "ajaxCommentsSubmit", 
      "method": "before", 
      "progress": { 
        "type": "1bar", 
        "message": "Please wait..." 
      }, 
      "button": { 
        "op": "Save" 
      } 
    } 
  } 
}

しかし、オブジェクトは "selector" と "id" を文字どおりに読み取ります。渡したい変数ではありません (ajax-comments-submit-398)

どうすればこれを達成できますか?

4

1 に答える 1

0

次のようにする必要があります。

var obj3 = { 
  "ahah": {} 
}

obj3.ahah[id] = { 
  "url": "/ajax_comments/js", 
  "event": "click", 
  "keypress": null, 
  "wrapper": "comment-form-content", 
  "selector": selector, 
  "effect": "ajaxCommentsSubmit", 
  "method": "before", 
  "progress": { 
    "type": "1bar", 
    "message": "Please wait..." 
  }, 
  "button": { 
    "op": "Save" 
  } 
}
于 2011-07-20T06:50:12.263 に答える