更新:此代码是疯狂的。这里问题的根源是通过连接字符串来重新创建变量的名称,然后假设它会神奇地变成那个变量。我有很多需要学习的东西。此外,将一个模糊数量的选项传递给函数的更好方法是使用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
相结合并将其传递给{{1}}。
答案 0 :(得分:1)
下面:
machineNumber({booked:"no"})
machineNumber
是一个字符串,但您试图将其称为函数。如果您执行类似
someVar = 'bob';
someVar();
你说如果你跑
createTimePicker(cybex_arctrainer1);
但您的代码并未使用变量 createTimePicker
作为参数调用cybex_arctrainer1
,而是执行更类似的操作:
createTimePicker('cybex_arctrainer1');