3

我的下拉列表声明如下:

    <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);
}

我正在动态填充此下拉列表。

我正在获取下拉列表的最后/先前选择的文本,但这不起作用。

请建议。

4

4 回答 4

3
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);
}
于 2013-06-07T07:22:55.387 回答
1
<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>

http://jsfiddle.net/S85rY/2/

于 2013-06-07T07:29:39.773 回答
1

尝试这个

<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>
于 2013-06-07T08:21:24.537 回答
0

你想要jquery吗?演示http://jsfiddle.net/yyene/3vRs9/

查询

$(document).ready(function() {        
    $("#mySelect").on('change', function() {
        alert('Changed selected: '+$('#mySelect option:selected').val());   
    });
}); 
于 2013-06-07T07:40:00.287 回答