在循环浏览每个输入时从select中获取文本

时间:2012-07-18 15:19:37

标签: jquery

我正在抓取5个标签表单中的所有输入。通过它们进行循环时,我将它们添加到评论部分。我有它工作正常,但我想显示选择下拉菜单的文本而不是值,因为该值对用户没有意义。这是我正在使用的几段代码。这是在里面和$(:input.each(function(){}我检查它是否是一个选择。如果是这样我设置一个tmp变量并添加'_in'到名称,因为我有所有字段名称加上在确认选项卡上。然后我检查新变量的长度以确保它在确认选项卡上。如果是这样,将html更新为文本。问题是它显示所有下拉文本选项。如果我做.val( )它只给出所选值的值。

//Gives all text options from the drop down.
if ($(this).prop('type') == 'select-one') {
  var tmp = '#'+$(this).attr('name')+'_in';
  if ($(tmp).length > 0) {
    $(tmp).html($(this).text());
  }         
}

//Gives only value of selected option from drop down.
if ($(this).prop('type') == 'select-one') {
  var tmp = '#'+$(this).attr('name')+'_in';
  if ($(tmp).length > 0) {
    $(tmp).html($(this).val());
  }

固定解决方案

if ($(this).prop('type') == 'select-one') {
  var tmp = '#'+$(this).attr('name')+'_in';
  var tmp2 = '#'+$(this).attr('name')+' option:selected';
  if ($(tmp).length > 0) {

tmp3 = $(tmp2).text();
$(tmp).html(tmp3);
}           
}

1 个答案:

答案 0 :(得分:1)

您可以使用

获取选择的文本

$("#yourdropdownid option:selected").text();