我的下面的代码工作正常,用于填充动态<select>
的{{1}}项
问题是,我最终得到3 <options>
说:One / Two / Three然后我选择第一个<options>
,这样我就可以调用jquery代码来填充下一个菜单。一个已经是菜单中的<option>
项,因此它不会被识别为onChange事件。
所以我需要选择Two然后One来调用onChange for One。
我应该使用什么而不是onChange吗?或者我应该将空白<selected>
项作为默认值?总会发生变化吗?
<option>
答案 0 :(得分:1)
事实上,我在上周工作的网页上遇到了同样的问题。我将onChange函数分开并调用document.ready,以便立即使用First selected值调用它。
$(function()
{
ChangeFunction();
});
$('#job').change(ChangeFunction);
function ChangeFunction()
{
$.get('ajax/employee_menu.php', { job: $('#job').val() },
function(data)
{
//load the <options> into the element
$("#employee").html( data );
// show the menu once loaded
$("#employee").css({ "display" : "inline" });
});
}
答案 1 :(得分:0)
不同的浏览器为<select />
元素事件提供不同的支持。您可以使用onclick
事件,但仅在Firefox中完全支持它。其他浏览器不支持它。
最好使用onchange
事件并提供默认选项。或者,您可以使用jQuery将<select />
标记更改为纯粹基于HTML的组合框,就像在此jquery.combobox
插件中一样。这可能更适合您的目的。
当前时间下降对标准事件的持续支持没有任何接近(不幸的是,过去几年没有)。
答案 2 :(得分:0)
您可以使用PHP预先填充第二个选择,因此页面也会使用OPTION
个元素进行第二次选择。无论如何,这就是我要做的。