我的下拉列表声明如下:
<asp:DropDownList ID="myDropDown" width="300" CssClass="textboxda"
AutoPostBack="True" runat="server" onmousewheel="return false;" />
下拉列表更改方法
myDropDown.Attributes.Add("OnChange", "return OnChange();");
function OnChange()
{
var $j = jQuery.noConflict();
var sel = $j(this).prevAll("#myDropDown:first"),
val = sel.val(),
text = sel.find(':selected').text();
alert(text);
}
我正在动态填充此下拉列表。
我正在获取下拉列表的最后一个/之前选择的文本,但这不起作用。
请建议。
答案 0 :(得分:2)
myDropDown.Attributes.Add("OnChange", "return OnChange(this);");
之后,您可以为当前所选项目添加另一个属性
myDropDown.Attributes.Add("previous", "your default selected value");
之后你的功能就像这样
function OnChange(args)
{
var previousVal=$(args).attr('previous');
var newVal=$(args).find(':selected');
alert(previousVal);
alert(newVal);
$(args).attr('previous',newVal);
}
答案 1 :(得分:0)
<select id="countries">
<option value="">Select country</option>
<option value="68">Russia</option>
<option value="20">United States</option>
<option value="73">Albania</option>
<option value="143">Algeria</option>
</select>
<script type="text/javascript">
$(document).ready(function(){
$('#countries').on('change', function() {
var $selected = $(this).find(':selected');
console.log('Prev = ', $selected.prev().text());
console.log('Next = ', $selected.next().text());
console.log('Last = ', $(this).find('option:last').text());
});
});
</script>
答案 2 :(得分:0)
试试这个
<select id="countries" previous="" onchange="countrychange(this)">
<option value="">Select country</option>
<option value="68">Russia</option>
<option value="20">United States</option>
<option value="73">Albania</option>
<option value="143">Algeria</option>
</select>
<script type="text/javascript">
function countrychange(args){
var previousVal=$(args).attr('previous');
var newVal=$(args).find(':selected');
alert(previousVal);
alert(newVal);
$(args).attr('previous',newVal);
}
</script>
答案 3 :(得分:-1)
你想要jquery吗? DEMO http://jsfiddle.net/yeyene/3vRs9/
$(document).ready(function() {
$("#mySelect").on('change', function() {
alert('Changed selected: '+$('#mySelect option:selected').val());
});
});