HTML
<form name='region_filter' action='/jobseek/search_cv/' method='get'>
<select id="id_region" class="" name="region">
<option value="" selected="selected">Все</option>
<option value="3">Донецк</option>
<option value="2">Киев</option>
<option value="1">Харьков</option>
</select>
<input class='submit' type='button' value='adgf'/>
</form>
JS
$(function(){
$('.submit').click(function(){
var selected = $('#id_region option:selected');
console.log(selected);
$.ajax({
type: 'GET',
url: '/jobseek/search_cv/',
data: {'region': selected.val()},
dataType: 'html',
success: function(data){
$('#category').html(data);
},
error: function(textStatus, jqXHR){
console.log('sdfg');
}
});
});
});
每次点击触发按钮,我都会选择相同的选项,它会加载页面,而不是我在点击按钮之前选择的选项。如何获得实际选择的选项?
答案 0 :(得分:2)
首先确保您只有一个ID为id_region
的选择。
然后试试这个:
var selectedval = $("#id_region").val();
答案 1 :(得分:0)
尝试直接从select元素获取值并停止提交表单:
$('.submit').click(function(e){
e.preventDefault();
var val = $('#id_region').val();
console.log(val);
$.ajax({
type: 'GET',
url: '/jobseek/search_cv/',
data: {'region': val},
dataType: 'html',
success: function(data){
$('#category').html(data);
},
error: function(textStatus, jqXHR){
console.log('sdfg');
}
});
});
答案 2 :(得分:0)
问题是您不要更改所选项目。 您要求他转到所选项目的val,这是列表中的第一项。
此属性不会被删除并添加到当前拾取的项目中。 至少不会在jsfiddle上我快速复制粘贴它。
是否有您没有发布的代码或者这一切是什么?
添加了额外的代码示例:
$(document).ready(function () {
$('#id_region').change(function(){
var option = $(this).val();
$('option:selected', 'select').removeAttr('selected');
$('#id_region option[value=' + option +']').attr('selected', 'selected');
});
$('.submit').click(function(){
alert($('#id_region option:selected').val());
});
});