问题
Probably missing something pretty obvious but I can't figure out what is going on. I am trying to use jquery to determine the currently selected option in a dropdown (See fiddle) but when I do something like the following I get a Warning in the (FF9) console.
var selectedValue=$('#testSelect option:selected').val();
Warning Message:
Warning: Use of attributes' specified attribute is deprecated. It always returns true.
Am I doing something wrong? Is this something I should be concerned with? Thanks in advance.
回答1:
jquery is referencing the "specified" property on an Attr object, this is depreciated with Firefox 7, and always returns true. see https://developer.mozilla.org/En/DOM/Attr
i've raised a jquery ticket for this: http://bugs.jquery.com/ticket/11397
回答2:
$(document).on('change','select#FIELD_NAME', function() {
alert('your selection was: '+$('select#FIELD_NAME').attr('value'));
return false;
});
K.I.S.S. ...whenever it's possible ;-)
回答3:
Ask the select
tag for it's value, it knows which one is selected and will use that tag for it's current value.
$('#testSelect').val()
Check it: http://jsfiddle.net/Ndzvm/1/
Sometimes it's simpler than you think it is :)
回答4:
can you use this code
<script type="text/javascript">
$(document).ready(function() {
$('select[id$=<%=DropDownList1.ClientID%>]').bind("keyup
change", function() {
if ($(this).val() != "")
$('#message').text("Text: " + $(this).
find(":selected").text()
+ ' Value: ' + $(this).val());
else
$('#message').text("");
});
});
</script>
回答5:
If the id #testSelect is your select name.
Get the value:
var selectedValue=$('#testSelect').attr('value');
Set the select value:
$('#testSelect').attr('value',your value);
来源:https://stackoverflow.com/questions/8389841/using-jquery-to-determine-selected-option-causes-specified-attribute-is-depreca