我想在用户点击选择时填充选择下拉列表。我正在尝试这个,但显然点击处理程序只在用户点击选项时激活,但在我的情况下我没有选项。这是demo
$('select').click(function () {
var currentId = $(this).attr('id');
alert(currentId);
var total = $('.total').text();
for (i = 0; i <= total; i++) {
$('<option>').val(i).text(i).appendTo('#' + currentId);
}
});
答案 0 :(得分:3)
试试这个:当您为每次点击附加选项时,您将无法看到选项。您可以使用.one()
仅为第一次单击填充选项,第二次单击它将显示已填充的选项。还可以使用this
添加选项而不是获取选择框的ID并使用它。
$('select').one("click",function () {
var total = parseInt($('.total').text());
for (i = 0; i <= total; i++) {
$('<option>').val(i).text(i).appendTo(this);//use this to append
}
});
<强> JSFiddle Demo 强>
答案 1 :(得分:0)
您可以尝试在鼠标上填充选择,它可以节省您一些时间并为您提供更多辅助功能。有时在点击时添加选项只会阻止选择在打开时打开,这会导致用户感到沮丧......