我有一些选择下拉菜单
<div class="selector">
<div class="nomination selectors-part">Year</div>
<div class="selection mini">
<select name="seltoYear">
<option selected disabled>Till</option>
<option value="2015">2015</option>
<option>2014</option>
<option>2013</option>
<option>2012</option>
<option>2011</option>
</select>
</div>
<div class="selection mini">
<select name="selfromYear">
<option selected disabled>From</option>
<option>1956</option>
<option>1986</option>
<option>1993</option>
<option>1994</option>
<option>1995</option>
<option>1996</option>
</select>
</div>
<div class="clear"></div>
</div>
我试图在POSt之后将选定的值重新设置,但是没有任何问题
$(function() {
$('div.list input[type=checkbox]').on('change',onValueChange);
$('div.selector select').on('change', onValueChange);
function onValueChange() {
var Checked = {};
var Selected = {};
// Hold all checkboxes
$('div.list input[type=checkbox]:checked').each(function () {
var $el = $(this);
var name = $el.attr('name');
if (typeof (Checked[name]) === 'undefined') {
Checked[name] = [];
}
Checked[name].push($el.val());
});
// Hold all dropdowns
$('div.list select').each(function () {
var $el = $(this);
var name = $el.attr('name');
if (typeof (Selected[name]) === 'undefined') {
Selected[name] = [];
}
Selected[name].push($el.val());
});
// Put all together to POST
$.ajax({
url: '/Search.asp',
type: 'POST',
data: $.param(Checked) + "&" + $.param(Selected),
dataType: 'text',
success: function (data) {
$("#ExSearchForm").html(data)
.find('div.list input[type=checkbox],div.selector select').each(function () {
var $el = $(this);
var name = $el.attr('name');
var value = $el.attr('value');
if (Checked[name] && Checked[name].indexOf(value) !== -1) {
$el.prop('checked', true);
}
if (Selected[name] && Selected[name].indexOf(value) !== -1) {
$el.prop('selected', true);
}
});
}
});
};
});
复选框也在选择中,但不想选择下拉列表。
要设置选择元素,您必须使用val()
like
if (Selected[name] && Selected[name].indexOf(value) !== -1) {
$el.val(value);
}
注意,你的方式计算value
作为你将无法正常工作select
元素没有一个属性的value
请参阅设置选择框的选定选项
更新
改变
$('div.list select').each(function () {
var $el = $(this);
var name = $el.attr('name');
if (typeof (Selected[name]) === 'undefined') {
Selected[name] = [];
}
Selected[name].push($el.val());
});
到
$('div.list select').each(function () {
var $el = $(this);
var name = $el.attr('name');
Selected[name] = $el.val();
});
和
if (Selected[name] && Selected[name].indexOf(value) !== -1) {
$el.prop('selected', true);
}
到
if (Selected[name]) {
$el.val(Selected[name]);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句