получить значение в выпадающем списке в jquery - PullRequest
0 голосов
/ 16 октября 2018

Например, у меня есть таблица конфигурации, как эта

id |имя |stats

, где stats - это комбинированный список, который имеет 2 варианта

<select name="yourOpt">
<option value="0">Not Active</option>
<option value="1">Active</option>
</select>

, например, мои данные:

1 | David | Active
2 | James | Not Active

Как получить значение 1 «Active» для данных 1 и получить значение «Не активен для data2» из этого списка?

Спасибо раньше

Ответы [ 3 ]

0 голосов
/ 16 октября 2018

$ ("select [name = 'yourOpt']") .change (function () {console.log ($ (this) .Val ())});

0 голосов
/ 16 октября 2018

Поскольку вы не указали, в какой момент вы хотите получить значения из полей со списком (например, после выбора параметра - как упоминалось в других ответах), я опубликую решение, которое позволит вам получить значениеполе со списком в строке, определяемой индексом в теле таблицы.

Код использует jQuery и Javascript.

function getSelectedOptionInRow(index){
    let selector = "tbody tr:nth-child(" + (index+1) + ") select option:selected";
    return $(selector).val();
}

Вы можете использовать эту функцию следующим образом.

<!DOCTYPE html>
<html>

<head>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>

<body>
  <table>
    <thead>
      <tr>
        <td>id</td>
        <td>name</td>
        <td>stats</td>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>1</td>
        <td>David</td>
        <td>
          <select name="yourOpt">
            <option value="0">Not Active</option>
            <option value="1">Active</option>
          </select>
        </td>
      </tr>
      <tr>
        <td>2</td>
        <td>James</td>
        <td>
          <select name="yourOpt">
            <option value="0">Not Active</option>
            <option value="1">Active</option>
          </select>
        </td>
      </tr>
    </tbody>
  </table>

  <button onclick="btnClicked()">Click</button>

  <script>

    // Action when button is clicked
    function btnClicked() {
      printAll();
    }

    // Helper function to get the options
    // in all the rows
    function printAll() {
      let selector = "tbody tr"
      let options = [];
      $(selector).each(function(i) {
        options.push(getSelectedOptionInRow(i));
      });
      alert(options.join(" "));
    }

    // Function to obtain the selected id
    // of the 'yourOpt' combobox.
    function getSelectedOptionInRow(index) {
      let selector = "tbody tr:nth-child(" + (index + 1) + ") select option:selected";
      return $(selector).val();
    }

  </script>
</body>

</html>
0 голосов
/ 16 октября 2018

Я надеюсь, что это ответит на ваш вопрос.

$( "select[name='yourOpt']" ).change(function() { var selected = $('select').val() });

Я бы добавил идентификаторы к своим входам, чтобы он был более сфокусированным

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...