我有一个select
:<select id="location" onmousedown="FileTransferInCombo(this)"></select>
。
这个想法是在用户点击它时使用以下方法填充它:
function FileTransferInCombo(combo)
{
var $combo = $(combo);
var options_count = $combo.find('option').length;
if (options_count == 0)
{
$.getJSON("AJAXTransferInEdit.aspx", { action: 'combo' }, function (j)
{
var options = LoadCombo(j);
$combo.html(options);
//$combo.empty().append(options);
});
}
}
LoadCombo(j)
只返回string
options
,因此:<option value="1">Blue</option><option value="2">Red</option>
。
这样可以正常工作,但是我希望select
能够正常扩展,就好像鼠标按下没有任何操作一样。只是正常行为。
我尝试了$combo.html(options);
和$combo.empty().append(options);
,在SO上寻找答案,但没有发现任何相关内容。考虑强迫它扩展,但看起来你也无法在.click()
上拨打select
。
有没有办法“阻止”onmousedown
事件并在我的AJAX调用完成后让它完成?