var temparr = [];
var arrmain = [
  ["E1", "RAM", "CHENNAI", "COMP", "P1"],
  ["E2", "RAJU", "PUNE", "ELECTRO", "P1"],
  ["E3", "JOHN", "KOLKATA", "MECH", "P2"]
  ["E4", "JOHN", "KOLKATA", "MECH", "P2"]
];
var p_id;
$(document).ready(function() {

  $('#dropdown select').on('change', function() {
    p_id = $('#dropdown select :selected').val();
  });




  for (var i = 0; i < temparr.length; i++) {
    //creates option tag
    $('<option/>', {
      value: tempArray[i],
      html: tempArray[i]
    }).appendTo('#dropdown select');

  }
});
<div id='dropdown'>
  <select style="width:200px">

  </select>
</div>

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

1
ani 13 Янв 2017 в 08:32

4 ответа

Лучший ответ

Вы почти там. Вместо temparr вам нужно перебирать массив arrmain.

Вам также не хватает запятой в вашем массиве массивов.

Попробуй это

var temparr = [];
var arrmain = [
  ["E1", "RAM", "CHENNAI", "COMP", "P1"],
  ["E2", "RAJU", "PUNE", "ELECTRO", "P1"],
  ["E3", "JOHN", "KOLKATA", "MECH", "P2"],
  ["E4", "JOHN", "KOLKATA", "MECH", "P2"]
];
var p_id;
$(document).ready(function() {

  $('#dropdown select').on('change', function() {
    p_id = $('#dropdown select :selected').val();
    alert(p_id)
  });


  for (var i = 0; i < arrmain.length; i++) {

    
    $('<option/>', {
      value: arrmain[i],
      html: arrmain[i]
    }).appendTo('#dropdown select');

  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id='dropdown'>
  <select style="width:200px">

  </select>
</div>
0
Sandeep Nayak 13 Янв 2017 в 06:16

Измените свой код JavaScript, как это

var temparr = [];
var arrmain = [
["E1", "RAM", "CHENNAI", "COMP", "P1"],
["E2", "RAJU", "PUNE", "ELECTRO", "P1"],
["E3", "JOHN", "KOLKATA", "MECH", "P2"]
["E4", "JOHN", "KOLKATA", "MECH", "P2"]
];
var p_id;
$(document).ready(function () {

    for (var i = 0; i < arrmain.length; i++) {
        //creates option tag
        $('<option/>', {
            value: arrmain[i],
            html: arrmain[i]
        }).appendTo('#dropdown select');

    }

    $('#dropdown select').on('change', function () {

        p_id = $('#dropdown select').val();
        alert(p_id);
    });


});
0
Bharat 13 Янв 2017 в 05:45

Немного иначе, вы можете использовать change для заполнения выпадающего меню. и просто встать на change. Смотрите ниже код.

var temparr = [];
var arrmain = [
  ["E1", "RAM", "CHENNAI", "COMP", "P1"],
  ["E2", "RAJU", "PUNE", "ELECTRO", "P1"],
  ["E3", "JOHN", "KOLKATA", "MECH", "P2"],
  ["E4", "JOHN", "KOLKATA", "MECH", "P2"]
];
var p_id;
$(document).ready(function() {

  $('#dropdown select').on('change', function() {
    p_id = $('#dropdown select').val();
    alert(p_id)
  });

$.each(arrmain,function(e,i){
       $('<option/>', {
      value: i,
      html: i
    }).appendTo('#dropdown select');
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id='dropdown'>
  <select style="width:200px">

  </select>
</div>
0
Bharat 13 Янв 2017 в 05:55

Ваш HTML-код

<select id="dropdown">
        <option value="">---select---</option>

</select>

Добавьте файл jQuery.js в ваш HTML-файл.

JQuery код

$(function () {

    var select = document.getElementById("dropdown");
    var options = [["E1", "RAM", "CHENNAI", "COMP", "P1"],
                   ["E2", "RAJU", "PUNE", "ELECTRO", "P1"],
                   ["E3", "JOHN", "KOLKATA", "MECH", "P2"],
                   ["E4", "JOHN", "KOLKATA", "MECH", "P2"]];
    for(var i = 0; i < options.length; i++) {
        var opt = options[i];
        var el = document.createElement("option");
        el.textContent = opt;
        el.value = opt;
        select.appendChild(el);
    }

    $("#dropdown").change(function () {
        var value = $(this).val();
        alert(value);             
    });
});
0
sowmyaa guptaa 13 Янв 2017 в 06:06