Как получить значение из выпадающего списка в javascript - PullRequest
0 голосов
/ 03 апреля 2012

У меня есть эта функция, и я хочу, чтобы в категории var было значение комбобокса с идентификатором #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);

1013 *

как это? http://img12.imageshack.us/img12/8438/semttuloluu.png

и код:

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

Ответы [ 3 ]

1 голос
/ 03 апреля 2012

Не знаю о spiceworks, но в JavaScript вот как вы можете это сделать:

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

Если # является частью идентификатора, добавьте его также, но обратите внимание, что это недействительный идентификатор:

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);

Какие оповещения вы получаете?

0 голосов
/ 17 августа 2014

Это добавление, вероятно, поздно, но если кто-то наткнется на это, он должен знать, что SpiceWorks использует prototype.js в качестве библиотеки JavaScript. Поэтому, чтобы получить элемент в DOM, вы используете знак $

Таким образом, чтобы получить комбинированный список, вы используете следующий синтаксис

var e = $("#ticket_category_clone");
var category = e.options[e.selectedIndex].text;
0 голосов
/ 04 апреля 2012

Можете ли вы проверить эти строки?

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

alert(str), если вы получите желаемое значение?

...