以下是以下問題。替換關聯數組變量
我的JavaScript文件包含以下代碼...
$(function() {
var names;
var names_hash = { };
// When an user types in a letter in the student name input field
$(".container").on("keyup", "#term", function(){
// Here we are submitting the form via AJAX. The form contains necessary
// Rails code to initiate the AJAX
$(this).parents(".student-search-form").submit();
});
$(".container").on("click", ".add_nested_fields", function() {
var term = $("#term").val();
console.log(names_hash);
});
});
現在,當我輸入一個字符到輸入域ID term
Rails的控制器動作被調用,並具有以下的JavaScript響應。
僅供參考,@group_users_hash
只是一個Ruby散列,我必須調用html_safe
,以便它可以正確轉換爲Javascript關聯數組(是的,我知道它實際上只是一個對象)。
names_hash = <%= @group_users_hash.html_safe %>;
console.log(names_hash);
所以當AJAX完成,我看到console.log(names_hash);
了我的控制檯
Object {1: "Jason"}
上產生但當我在.add_nested_fields
點擊調用on
事件,我的控制檯日誌顯示
Object {}
我不知道爲什麼assoc_array
沒有被更新。我的代碼有什麼問題,我該如何解決它?
您應該在AJAX請求中發佈代碼。 – Calvin 2013-04-10 20:25:05
我做到了。我會澄清它。 – jason328 2013-04-10 20:25:50
我會猜測你將'assoc_array'與另一個'var'相互影響,但不幸的是我所能做的只是猜測。 – 2013-04-10 20:26:11