Jquery 设置选择选项
我有一些精选的下拉列表Jquery 设置选择选项,jquery,Jquery,我有一些精选的下拉列表 <div class="selector"> <div class="nomination selectors-part">Year</div> <div class="selection mini"> <select name="seltoYear">
<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>
复选框也在选择中,但下拉列表不希望被选择。要设置选择元素,必须使用
val()
like
if (Selected[name] && Selected[name].indexOf(value) !== -1) {
$el.val(value);
}
请注意,由于select
元素没有值的属性,因此计算值的方法将不起作用
看
更新
改变
$('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());
});
到
及
到
试试这个
if (Selected[name] && Selected[name].indexOf(value) !== -1) {
$el.attr('selected', 'selected');
}
没有属性值
,因此$el.attr('value')
对于它是未定义的。您可以使用$el.val()
来代替。谢谢您的回答,但什么也没有happins@DmitrijHolkin,你能用小提琴复制它吗?或者告诉我在成功回调中数据
是什么样子的?在回调中,我得到了完整的HTML和我的question@DmitrijHolkin,好的,根据上面的例子,要选择哪个选项
值?我需要选择所选对象中的值,其中选择标记名=名称,选项文本=文本。或发送POST之前选择的此值。只是想恢复选定的值?在post之后,所有复选框和下拉列表都将重置
$('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]);
}
if (Selected[name] && Selected[name].indexOf(value) !== -1) {
$el.attr('selected', 'selected');
}