【问题标题】:How to fetch name from select tag using jquery [duplicate]如何使用jquery从选择标签中获取名称[重复]
【发布时间】:2019-01-20 18:46:54
【问题描述】:

我创建了许多选择标签。每个标签的名称都不同。 所以当我提交表单时,我需要使用 jquery 获取选择标签的名称。

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

我对它正在工作的输入字段不一样。当我在选项中保留我的名字时,它工作正常。但我不想在选项中保留我的名字 attr。

【问题讨论】:

  • 您选择的不是select 元素,而是option 元素。如果您选择 select 元素,它的工作原理与 input 元素类似。
  • 是否可以使用元素类查找是下拉还是输入?
  • 如果你有一个元素的 jQuery 引用,你可以通过.prop("tagName") 知道它是什么。这将返回OPTIONSELECTINPUT,...参见stackoverflow.com/questions/5347357/…

标签: javascript jquery html


【解决方案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"/>

【讨论】:

  • 是否可以使用元素类查找是下拉还是输入?
  • @SethuKarthik,是的,可以使用 tagName 获取元素标签名称 ...请参阅更新后的答案.....谢谢
猜你喜欢
  • 2014-07-14
  • 2018-07-13
  • 2013-07-15
  • 2018-04-20
  • 1970-01-01
  • 1970-01-01
  • 2011-01-11
  • 2019-03-31
  • 1970-01-01
相关资源
最近更新 更多