我创建了许多选择标签。每个标签的名称不同。 因此,当我提交表单时,我需要使用jquery获取select标签的名称。
<select class="myclass" id="" name="AP">
<option value="">Select Val</option>
<option value="50">50</option>
<option value="60">60</option>
</select>
var getSelect = $('.compressor option:selected');
console.log(getSelect.name);
对于正在使用的输入字段,我有不同的看法。当我将我的名字保留在选项中时,它工作正常。但是我不想在选项中保留我的名字。
答案 0 :(得分:1)
如果要获取 select 元素的属性 name ,请从选择器中删除option:selected
。您可以使用attr()
来获取特定属性:
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>
如果要将option:selected
作为选择器的一部分,则必须定位parent()
元素:
$('#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>
更新: :要获取元素的名称,可以使用属性 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"/>