使用JavaScript从select按钮中提取文本

时间:2018-03-20 11:10:24

标签: javascript

大家好我正在尝试使用Javascript来提取名称

<div class="dropdown-container">
      <form>
         <select id="pick-chart" class="form-control pick-chart">
             <option value="0">Compare with</option>
             {% for i in team_list_pop %}
             <option value="{{i.id}}">{{i.first_name}} {{i.last_name}}</option>
             {% endfor %}
         </select>
      </form>
 </div>

在我的JS中我尝试过:

$(".pick-chart").change(function(e) {
        e.preventDefault();
        var val = $(this).val();
        var name2 = $("option value=" +'"'+val+'"').text();
}

我收到错误:Uncaught Error: Syntax error, unrecognised expression: option value="52"

我怎样才能提取{i.first_name}}?

2 个答案:

答案 0 :(得分:1)

你的JQuery文本错了,试试这个:

applications

然后得到第一个名字(假设名字不包含空格):

const name2 = $(`option[value='${val}']`).text();

答案 1 :(得分:1)

您错误地为var name2 = $("option value=" +'"'+val+'"').text();编写了代码,将其替换为var name2 = $('option[value='+val+']').text();,它将起作用。 missing )函数也有change错误,因此在那里添加一个右括号。对于工作代码段,我删除了动态option元素:

$(".pick-chart").change(function(e) {
    e.preventDefault();
    var val = $(this).val();
    var name2 = $('option[value='+val+']').text();
    var fName = name2.split(' ')[0];
    console.log('first name is ', fName);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="dropdown-container">
      <form>
         <select id="pick-chart" class="form-control pick-chart">
             <option value="0">Compare with</option>
             <option value="someVal">John Cena</option>
         </select>
      </form>
 </div>