更新:このコードはばかげています。ここでの問題の根本は、文字列を連結して変数の名前を再作成し、それが魔法のようにその変数に変わると仮定することです.私には学ぶことがたくさんありました. また、あいまいな数のオプションを関数に渡すためのはるかに優れた方法は、JSON を使用することです。
var availableTimes,
selected_unit,
selected_unit_number;
function createTimePicker(machineNumber){
availableTimes = machineNumber({booked:"no"}).select("time");
for (i=0;i<availableTimes.length;i++){
$('<option/>').val(availableTimes[i]).html(availableTimes[i]).appendTo('#signin_start_time');
}
}
$(function() {
$('body').on('click', '#cybex_arctrainer_button', function() {
selected_unit = "cybex_arctrainer";
});
$('body').on('change', '#signin_unit_number_selector', function () {
selected_unit_number = $("#signin_unit_number_selector option:selected").text();
unit_plus_number = selected_unit+selected_unit_number;
createTimePicker(unit_plus_number);
});
});
いくつかのこと: データベースは動作します。実行createTimePicker(cybex_arctrainer1)
すると、availableTimes
変数に問題なく入力されます。問題は、それらを組み合わせselected_unit+selected_unit_number
て に渡すことにあるようcreateTimePicker
です。