数据列表如何获取所选名称而不是值

时间:2017-02-20 07:51:12

标签: javascript jquery html

我正在使用Datalist显示select选项的自动完成值。

a:3:{s:6:"_token";s:40:"AXqkhlwBwbJGcfG3l8ZVzN991HQnYwfioQUd38Mz";s:9:"_sf2_meta";a:3:{s:1:"u";i:1487576780;s:1:"c";i:1487576780;s:1:"l";s:1:"0";}s:5:"flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}}

现在使用<input type="text" class="form-control input-sm" name="referralName" id="referralName" list="referralNameList"> <datalist id="referralNameList"> <option value="one">Name 1</option> <option value="two">Name 2</option> <option value="three">Name 3</option> </datalist> 我能够获得所选选项的值,我关心的是如何获得相应的名称,就像我选择选项“one”时我应该将值作为“名称1”

javascript

如何获取所选名称。

4 个答案:

答案 0 :(得分:3)

您需要根据所选值获取option,然后才能设置文字

&#13;
&#13;
$("#referralName").on('input', function() {
  var value = $(this).val();

  //Persist selected value in a hidden input
  $('#referralNameValue').val(value);

  //For debugging
  console.clear();
  console.log("value of selected referral " + value)

  //update value
  if (!!value.length) {
    var text = $("#referralNameList option[value=" + value + "]").text();
    $(this).val(text);
  }
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="form-control input-sm" name="referralName" id="referralName" list="referralNameList">
<input type="hidden" id="referralNameValue" list="referralNameList">
<datalist id="referralNameList">
 <option value="one">Name 1</option>
 <option value="two">Name 2</option>
 <option value="three">Name 3</option>
</datalist>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

您可以使用所选选项text()来获取文字

$(document).ready(function () {
  $("#referralName").on('change', function () {
    var value = $("#referralName").val();
    var text = $("#referralNameList").find('option[value=' + value + ']').text();
    console.log("Text of selected referral " + text )
   });
});

答案 2 :(得分:0)

容易..

var lat = resp.data[0].latitude;

答案 3 :(得分:0)

简单快捷的解决方案:

data-name中添加<option>属性,如下所示

<datalist id="referralNameList">
 <option data-name="Name 1" value="one">Name 1</option>
 <option data-name="Name 2" value="two">Name 2</option>
 <option data-name="Name 3" value="three">Name 3</option>
</datalist>

然后使用以下代码

获取所选文本
  

$(“#referralNameList:selected”)。data('name');

这将为您提供名称,最快的方式。

顺便说一句,你试过

  

<强> $("#referralNameList :selected").text();