TAFFYdb:将选项传递给函数

时间:2013-07-29 20:06:54

标签: javascript taffydb

更新:此代码是疯狂的。这里问题的根源是通过连接字符串来重新创建变量的名称,然后假设它会神奇地变成那个变量。我有很多需要学习的东西。此外,将一个模糊数量的选项传递给函数的更好方法是使用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_numbercreateTimePicker相结合并将其传递给{{1}}。

1 个答案:

答案 0 :(得分:1)

下面:

machineNumber({booked:"no"})

machineNumber是一个字符串,但您试图将其称为函数。如果您执行类似

的操作,则会收到相同的错误
someVar = 'bob';
someVar();

你说如果你跑

createTimePicker(cybex_arctrainer1);

但您的代码并未使用变量 createTimePicker作为参数调用cybex_arctrainer1,而是执行更类似的操作:

createTimePicker('cybex_arctrainer1');