我有一个选择信息返回为具有元素名称和id的数组。
我需要在发送选择时使用所选选项的标识符。
但是出于合乎逻辑的原因,我需要在选择中显示项目名称,并且显示标识符将毫无意义。
我尝试了以下内容:
$('#selectCategory').on('change', function () {
var optionSelect = $(this).val();
$.post("{{path('playlist_category') }}", {category: optionSelect},
function (filterContent) {
$('#playlist_content_name').empty();
for (var content in filterContent.category_result) {
var id = filterContent.category_result[content].id;
var name = filterContent.category_result[content].name;
console.log(name);
console.log(id);
$('#playlist_content_name').append('<option value"'+ id +'">' + name + '</option>');
}
}, 'json');
});
但表单是以select的名称提交的,而不是ID。
修改
这项工作。
忘记在选项值中签名=。
$('#playlist_content_name').append('<option value="' + id +'">' + name + '</option>');
答案 0 :(得分:0)
...
var name = filterContent.category_result[content].name;
if(filterContent.category_result[content].nodeName === 'select') {
name = filterContent.category_result[content].value;
}
这将获取选择框值,但您需要检查,您应该可以将其放在var name....
下方,而无需更改任何内容。