[英]Get selected option on click or change event
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');
}
});
});
});
每次單擊觸發按鈕我都會得到相同的選項,它會加載頁面,而不是我在點擊按鈕之前選擇的選項。 如何獲得實際選擇的選項?
首先確保您只有一個id為id_region
。
然后嘗試這個:
var selectedval = $("#id_region").val();
演示: http : //jsfiddle.net/Dt8FR/
嘗試直接從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');
}
});
});
問題是你不要改變你選擇的項目。 您要求他轉到所選項目的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());
});
});
演示: http : //jsfiddle.net/97PY6/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.