我正在尝试遵循本教程(http://railscasts.com/episodes/88-dynamic-select-menus)获取使用RoR的动态选择框。无需担心RoR位,这是一个Javascript特定的问题。当我在选择框中调用.options时,为什么会出现“未定义”?
每次运行此函数时,都会出现“选项”未定义的错误。我试着在控制台中手动运行命令,但无论如何,它都会吐出未定义的命令。我有它的确切类型,因为我看到它的教程,但不知何故,它不工作对我来说...
这里是有问题的javascript:
function clientSelected() {
var client_id = $('#piece_client_id').val();
// THIS IS THE PROBLEM LINE
var options = $('piece_campaign_id').options;
options.length = 0;
campaigns.each(function(campaign) {
if (campaign[0] == client_id) {
options[options.length] = new Option(campaign[1], campaign[2]);
}
});
if (options.length == 1) {
$('campaign_field').hide();
} else {
$('campaign_field').show();
}
}
这里是它的努力工作,在HTML :
<select id="piece_campaign_id" name="piece[campaign_id]"><option value=""></option>
<option value="1">Feed The Dogs</option>
<option value="2">Watch Television</option>
<option value="3">End The Suffering</option>
<option value="4">Brian Bilbrey</option>
<option value="5">SummerHill Homes/Yes on A&B</option>
</select>
感谢一堆看看!让我知道是否还有其他事情可以添加,以使我的问题更加清晰。
你'。each()'循环也不起作用。我不知道'campaign'是什么,但'campaign'参数将指向一个索引号,所以'campaign [0]'将永远是'undefined'。 – user113716
...它看起来像你所遵循的教程不使用'jQuery'。我猜可能是'prototypejs'。 – user113716