Jquery如何从没有名称和id的输入字段接收值

时间:2018-02-18 23:56:02

标签: javascript jquery events input

我有一个很好的脚本来自https://www.jqueryscript.net/form/Bootstrap-Combo-Box-Typeahead-Plugin-jQuery.html,可以将带有选项的选项转换为combobox,但也能够看到选择中的所有选项。

但问题是它在没有id和name的输入字段中返回选项。没有任何事件对我有效,我需要为其他jquery语句选择其值。

也许创作者有一天会回答,也许他/她不再回答问题了(我是第一个但是脚本已经被访问过12000次直到现在)。

对于没有id和名称的输入字段,有没有办法?

这是select中生成的html的示例(它是带有autocomplete="off"的输入字段):

<div class="col-sm-12"> 
  <span>A6. Geslacht</span>
  <div class="combobox-container"> 
    <input name="A06" value="" type="hidden"> 
    <div class="input-group"> 
      <input autocomplete="off" placeholder="" class="combobox form-control" style="" type="text">
      <ul class="typeahead typeahead-long dropdown-menu" style="top: 40px; left: 0px; display: none;">
        <li data-value="M" class="active"><a href="#" class="dropdown-item"><strong></strong>M<strong></strong></a></li>
        <li data-value="V"><a href="#" class="dropdown-item"><strong></strong>V<strong></strong></a></li>
      </ul>
      <span class="input-group-addon dropdown-toggle" data-dropdown="dropdown">
        <span class="caret"></span> 
        <span class="glyphicon glyphicon-remove"></span>
      </span> 
    </div> 
  </div>
  <select id="input-A06" class="combobox form-control" style="display: none;">
    <option value=""></option>
    <option value="1">M</option>
    <option value="2">V</option>
  </select>
</div>

2 个答案:

答案 0 :(得分:0)

您可以使用类选择器访问它。

确切地说(如果你正在使用jQuery):

$("input.combobox.form-control").val()

请参阅此处的课程参考: https://www.w3schools.com/jquery/sel_class.asp

答案 1 :(得分:0)

«没有事件对我有用»真的吗?你试过change吗?

«我需要它的选定值»这听起来很清楚......但是存在valuetextselectedIndex ..所以请看下面你真正需要的东西。

$(".combobox").combobox().on("change",function(){
  var value = this.value;
  var index = this.selectedIndex;
  var text = $(this).find("option").eq(index).text();
  
  console.log(value);
  console.log(index);
  console.log(text);
});;
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-combobox/1.1.8/css/bootstrap-combobox.css" rel="stylesheet"/>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-combobox/1.1.8/js/bootstrap-combobox.min.js"></script>

<div class="col-sm-12"> 
  <span>A6. Geslacht</span>
  
  <select id="input-A06" class="combobox form-control" style="display: none;">
    <option value=""></option>
    <option value="1">M</option>
    <option value="2">V</option>
  </select>
</div>