选择下拉值时获取[object,object]-代替表格

时间:2018-11-14 20:57:19

标签: javascript jquery

我遇到一个问题,其中有一个带有jsf标签的下拉列表,并且当我选择一个下拉列表值时-它显示[Object, object]。我尝试使用JSON.stringify(data);从对象转换为字符串,但效果不佳。谁能帮我解决这个问题。我有一个搜索输入,其中的值显示了html表-我想对下拉菜单进行相同的操作。谢谢你的帮助。

这是我的代码

$('#sJobClass').on('change', function() {
  var jobClassCd = $(this).val(); 
  if (jobClassCd !== 0) {
    $.post('http://localhost:8080/myApp/JobSearchItem.xhtml',
           $('#searchForms').serialize(),
           function(data) {
             $('#results').append(data + '<br/><br/>');
             // $('#results').append($(text).find('table'));
             console.log(data);
             JSON.stringify(data);
           });

    $("#clearone").show();
  }
}); 

带有JSF标签的HTML

<select class="selectMenuSize" id="sJobClass" name="sJobClass">
  <option value="">choose</option>
  <c:forEach items="#{myBean.jobSearchItems}" var="searchItem">
    <option value="#{searchItem.getSearchValue()}" id="searchInputField"
            name="searchInput">#{searchItem.toString()}</option>
  </c:forEach>
</select>

数据

{
  id: "11111",
  label: "PROGRAMMER (1111) ",
  value: "11111"
}

2 个答案:

答案 0 :(得分:1)

您似乎正在调用JSON.stringify(data)(这是正确的),但选择忽略结果,而是使用data的原始值(不是)。

尝试将此作为您的回调函数:

function(data) {
   $('#results').append(JSON.stringify(data) + '<br/><br/>');
});

答案 1 :(得分:0)

您附加了所有返回对象,它们有多个属性,您需要在结果中显示一个?

$('#results').append(data.label + '<br/><br/>');

$('#results').append(data.id + data.label + '<br/><br/>');