如何从javascript中的组合框中获取值

时间:2012-04-03 11:19:23

标签: javascript spiceworks

我有此功能,我想让var类别具有ID为#ticket_category_clone

的组合框的值

我做错了什么?

   function check () {
      var category="#ticket_category_clone";
          if (category=="Hardware")
      {
      SPICEWORKS.utils.addStyle('#ticket_c_hardware_clone{display: none !important;}');
      }
    }

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

修改

它仅在我以这种方式制作代码时发出警告:

function check () {
    // var category = document.getElementById('#ticket_c_hardware_clone').value;
   var category ="Hardware";
   alert(category)
          if (category=="Hardware")
      {
        SPICEWORKS.utils.addStyle('#ticket_c_hardware_clone{display: none !important;}');


      }
   alert(category)
    }

SPICEWORKS.app.helpdesk.ready(check);

像这样? http://img12.imageshack.us/img12/8438/semttuloluu.png

和代码:

<select id="ticket_category_clone" name="ticket[category]" hdpp="ticket_category"><option value=""></option>

3 个答案:

答案 0 :(得分:1)

Dunno关于spiceworks,但是在JavaScript中,你可以这样做:

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

如果#是ID的一部分,请添加它,但请注意它无效ID:

var category = document.getElementById("#ticket_category_clone").value;

看起来你需要一些调试。请尝试以下代码:

var category = "";
var ddl = document.getElementById("ticket_category_clone");
if (ddl) {
    alert("found (1)");
    category = ddl.value;
} else {
    ddl = document.getElementById("#ticket_category_clone");
    if (ddl) {
        alert("found (2)");
        category = ddl.value;
    } else {
        alert("element can't be found");
    }
}
alert(category);

你得到什么警报?

答案 1 :(得分:0)

你能用这条线测试吗?

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

alert(str),如果你得到你想要的价值?

答案 2 :(得分:0)

这个添加可能已经晚了,但如果有人偶然发现这一点,他们应该知道SpiceWorks使用prototype.js作为JavaScript库。因此,要在DOM中获取元素,请使用$ sign

因此,为了获得组合框,请使用以下语法

var e = $("#ticket_category_clone");
var category = e.options[e.selectedIndex].text;