选择不在IE8中返回值

时间:2014-07-18 08:42:55

标签: php select drop-down-menu internet-explorer-8

我们的选择框有问题。如果我们尝试记录所选的值,它在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>"; 

也许你可以帮助我们。

3 个答案:

答案 0 :(得分:1)

确保<option>value;

实施例

<option value="IT-Infra">IT-Infra</option>

HTML指南 - http://www.w3.org/wiki/HTML/Elements/option

答案 1 :(得分:1)

请确保您已在选项中给出了价值 将onchange函数调用更改为:

onChange="search($('#searchKey').val(),thi.value)"
or 
onChange="search(document.getElementById('searchKey').value,thi.value)"

答案 2 :(得分:1)

您的代码有几个问题:

  • 您是如何定义变量searchKeycategorySelect的?您不能只假设浏览器会根据元素的ID自动生成JavaScript变量。您需要查询它们:

    var searchKey = document.getElementById(&#39; searchKey&#39;);

如果是categorySelect,您可以在事件处理程序中使用this

  • 较旧的IE不支持option没有value属性。

  • 最重要的是:这是multiple select,因此您无法使用value访问所选选项,您需要循环选项并检查哪些是selected