Как использовать троичный оператор в JQuery в AJAX вызова? - PullRequest
0 голосов
/ 21 февраля 2019

Я использую ядро ​​PHP, jQuery и MySql.У меня есть 2 зависимых выпадающих в моем коде.Первое раскрывающееся значение company list поступает из базы данных напрямую с запросом на той же странице.

Для второго раскрывающегося списка employee list для конкретного company я использую ajax для получения данных из базы данных..

var lastSelectedEmpId = $('#hiddeniid').val();
$.ajax({
  method: "GET",
  dataType: 'json',
  url:"getdata.php?id="+emp_id,
  success:function (response){
    $(".bodytable").empty();
    $.each(response, function( index, value ) {
      $(".class").append("<option value="'+value.id+','+value.emp_type+'">" + value.emp_name + </option>'");
    });
  },
});

Как видно из приведенного выше кода в значении "'+value.id+','+value.emp_type+'"

Вкл. _GET['curent_id'] Я получаю от выбранных пользователей все данные.

Мой код добавления и обновлениянаходится на той же странице.Таким образом, у меня есть только один вызов ajax для employee_list.

Как вы видите выше код на _GET['curent_id'], я получаю все данные с id_emptype сотрудника.

Я хочу это id_emptype использовать в вызове ajax как выбранный вариант.Для этого я хочу использовать троичный оператор внутри jQuery, но он не работает для меня.

У меня есть одно скрытое поле с моим текущим id_emptype.в переменной lastSelectedEmpId.

Теперь я делаю что-то вроде приведенного ниже кода, чтобы получить current id_emptype как выбранное значение на странице загрузки, но оно не работает:

$(".class").append<option value="' +value.id+','+value.emp_type+ '"' +
  (+value.id+','+value.emp_type+ === lastSelectedEmpId ? 'selected="selected"' : '') +
  '>' + value.emp_name + '</option>;

1 Ответ

0 голосов
/ 21 февраля 2019

При объединении некоторой логики JS со строкой вы должны заключить ее в круглые скобки.

И будьте осторожны, когда ставите знаки + и скобки.Вы просто не можете иметь их в неправильном месте или пропустить.

Попробуйте .append() ниже, где я заполнил переменные материалом, чтобы демо работало:

var lastSelectedEmpId = "1,type";

var value={
  id:1,
  emp_type:"type",
  emp_name:"John Doh"
}

$(".class").append('<option value="' +value.id+','+value.emp_type+ '"' + 
                   ((value.id+','+value.emp_type === lastSelectedEmpId) ? 'selected="selected"' : '') +
                   '>' + value.emp_name + '</option>');
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<select class="class">
  <option>1</option>
  <option>2</option>
  <option>3</option>
</select>

===
И 'selected="selected"' может быть просто 'selected'.Этот атрибут в любом случае является истинным / ложным.Но браузеры интерпретируют это как истинное просто, если оно присутствует.

Вы даже можете попробовать 'selected="bullshit"', и оно будет работать ...;)

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