If you want to get the attribute name of the select element, remove option:selected
from the selector. You can use attr()
to get specific attribute:
var getSelect = $('.myclass');
console.log(getSelect.attr('name'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select class="myclass" id="" name="AP">
<option value="">Select Val</option>
<option value="50">50</option>
<option value="60">60</option>
</select>
If you want option:selected
as part of the selector then you have to target the parent()
element:
$('#submit').click(function(){
var getSelect = $('.myclass option:selected').parent();
console.log(getSelect.attr('name'));
return false;
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select class="myclass" id="" name="AP">
<option value="">Select Val</option>
<option value="50">50</option>
<option value="60">60</option>
</select>
<button type="submit" id="submit">Submit</button>
Update: To get the element's name you can use the property tagName
//using index
console.log(getSelect[0].tagName);
//or: using prop()
console.log(getSelect.prop('tagName'));
var getSelect = $('.myclass');
getSelect.each(function(){
console.log($(this).prop('tagName'));
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select class="myclass" id="" name="AP">
<option value="">Select Val</option>
<option value="50">50</option>
<option value="60">60</option>
</select>
<input class="myclass"/>