我像这样更新选择输入的值:
$('.filter').change(function() {
$.post('/schedules', { sid: $(this).val() }, function(result) {
$.each(result, function(k, v) {
var least = 0;
if(v.sort_c > least) {
$('.filter2').append('<option value="' + v.id + '.' + 'test_value' + '">' + v.name + '</option>');
least = v.sort_c;
}
});
});
});
在运行jQuery之后,我需要获得$('.filter2')
的值。当我尝试$('.filter2').val()
时,它什么都不返回。
为什么会这样?
答案 0 :(得分:0)
您可能希望在名为filter2
的选择内找到所选选项的值。试试这个:
$('.filter2 option:selected').val();
答案 1 :(得分:0)
在此jQuery运行之后 似乎意味着您没有考虑所涉及的异步(AJAX)请求。以下内容应为您提供.filter2
的正确值:
$('.filter').change(function() {
$.post('/schedules', { sid: $(this).val() }, function(result) {
$.each(result, function(k, v) {
var least = 0;
if(v.sort_c > least) {
$('.filter2').append('<option value="' + v.id + '.' + 'test_value' + '">' + v.name + '</option>');
least = v.sort_c;
}
});
console.log( $('.filter2').val() ); //<========
});
});
但是,由于我没有看到您使用selected
属性设置任何 new 选项,我想知道您希望在更改之前获得的价值是多少