我们的选择框有问题。如果我们尝试记录所选的值,它在chrome和firefox中工作正常。但在IE8中,它并没有起作用。我们甚至无法在框中选择一个值。
这是PHP代码:
$out2 .= "<select id ='categorySelect' onChange='search(searchKey.value,categorySelect.value)' multiple>";
$out2 .="<option> All </option>";
/* foreach($categoryList AS $category)
{
$out2 .= "<option> $category </option>";
} */
$out2 .= "<option> IT-Infra </option>";
$out2 .= "<option> IT-HW </option>";
$out2 .= "<option> IT-SW </option>";
$out2 .= "<option> IT </option>";
$out2 .= "</select>";
也许你可以帮助我们。
答案 0 :(得分:1)
确保<option>
有value
;
实施例
<option value="IT-Infra">IT-Infra</option>
答案 1 :(得分:1)
请确保您已在选项中给出了价值 将onchange函数调用更改为:
onChange="search($('#searchKey').val(),thi.value)"
or
onChange="search(document.getElementById('searchKey').value,thi.value)"
答案 2 :(得分:1)
您的代码有几个问题:
您是如何定义变量searchKey
和categorySelect
的?您不能只假设浏览器会根据元素的ID自动生成JavaScript变量。您需要查询它们:
var searchKey = document.getElementById(&#39; searchKey&#39;);
如果是categorySelect
,您可以在事件处理程序中使用this
。
较旧的IE不支持option
没有value
属性。
最重要的是:这是multiple
select
,因此您无法使用value
访问所选选项,您需要循环选项并检查哪些是selected
。