用于从组合框中获取所选值的JavaScript代码

时间:2012-04-04 08:48:34

标签: javascript combobox

任何人都可以给我一个示例代码,从现有的组合框中获取所选值吗?

我有这段代码,但它没有做任何事情:

function check () 
{
    var e = document.getElementById("ticket_category_clone");
    var str = e.options[e.selectedIndex].text;

    alert(str);

    if (str==="Hardware")
    {
        SPICEWORKS.utils.addStyle('#ticket_c_hardware_clone{display: none !important;}');
    }       
}

SPICEWORKS.app.helpdesk.ready(check);​

继承了img代码

和代码

<select id="ticket_category_clone" name="ticket[category]" hdpp="ticket_category">
<option value=""></option><option value="Hardware">Hardware</option>
<option value="Software">Software</option>
<option value="Rede" selected="selected">Rede</option>
<option value="Pedidos">Pedidos</option>
<option value="Formação/Dúvida">Formação/Dúvida</option>
<option value="Outro">Outro</option><option value="#edit_categories#">Edit Categories...</option></select>

我希望它找到一种方法来获得组合框的选定值

3 个答案:

答案 0 :(得分:19)

有一个不必要的主题标签;将代码更改为:

var e = document.getElementById("ticket_category_clone").value;

答案 1 :(得分:5)

我用这个

var e = document.getElementById('ticket_category_clone').value;

请注意,您不需要javascript中的“#”字符。

    function check () {

    var str = document.getElementById('ticket_category_clone').value;

      if (str==="Hardware")
      {
        SPICEWORKS.utils.addStyle('#ticket_c_hardware_clone{display: none !important;}');
      }

    }

SPICEWORKS.app.helpdesk.ready(check);​

答案 2 :(得分:3)

这可能是其他人提到过的#符号,因为这似乎工作得很好。

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>

</head>
<body>

    <select id="#ticket_category_clone">
  <option value="hw">Hardware</option>
  <option>fsdf</option>
  <option>sfsd</option>
  <option>sdfs</option>
</select>
<script type="text/javascript">
    (function check() {
        var e = document.getElementById("#ticket_category_clone");
        var str = e.options[e.selectedIndex].text;

        alert(str);
        if (str === "Hardware") { 
            alert('Hi'); 
        }


    })();
</script>
</body>