如何在ajax调用的jquery中使用三元运算符?

时间:2019-02-21 05:03:16

标签: jquery mysql ajax drop-down-menu ternary-operator

我正在使用核心PHP,jQuery和MySql。我的代码中有2个依赖下拉列表。 company list的第一个下拉列表来自数据库,直接来自同一页面上的查询。

对于特定employee list的{​​{1}}的第二个下拉列表,我正在使用ajax从数据库中获取数据。

company

如您所见,上面的代码在值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在ajax调用中用作选定选项。为此,我想在jQuery中使用三元运算符,但是它不起作用 对我来说。

我当前的id_emptype有一个隐藏字段。在变量id_emptype中。

现在,我正在执行类似以下代码的操作,以将lastSelectedEmpId作为选定值加载页面,但它不起作用:

current id_emptype

1 个答案:

答案 0 :(得分:0)

将某些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'。该属性无论如何都是true / false。但是浏览器会简单地将其解释为真实。

您甚至可以尝试'selected="bullshit"',它将起作用...;)