0
我有一個jquery/javascript函數,可以創建一個數組,放置在窗體的隱藏字段中。但是,這是一種嵌套形式,所以我需要多次調用此函數來填充所有子項的隱藏字段:test_suite_run[test_runs_attributes][//id][packages_id]
。這意味着我需要每次使用不同的子ID來運行此函數。複製JQuery/Javascript功能
我已經加了//id
來表示許多函數調用之間的唯一區別。我不知道如何複製這個函數,而不需要手動複製它多次,並替換每個嵌套子實例的索引爲0 ... n的// id。這可以通過傳遞參數到javascript函數來完成嗎?
對不起,如果這有點令人困惑,我會很樂意解釋如果需要更詳細的。
jQuery函數
$(document).ready(function() {
arr = new Array();
$(document).on('change', 'select[id ^="s_package//id"]', function() {
var arr = $('select[id ^="s_package//id"]').map(function() {
return this.value
})
result = ""
for (j = 0; j < arr.length - 1; j++) {
result += (arr[j] + ", ");
}
result += (arr[arr.length - 1])
$("input[name='test_suite_run[test_runs_attributes][//id][packages_id]']").val(result);
});
});
取而代之的是使用基於id的選擇器。我會說使用選擇器作爲類,因爲你正在使用的on()函數會自動將change事件和函數綁定到將來用這個類創建的所有元素,這樣你就不必再次重複這個函數。 http://api.jquery.com/delegate/ $(document).on('change','.some_class',function() – Raghu 2012-07-16 19:33:08