我遇到一个问题,其中有一个带有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"
}
答案 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/>');