Datalist中的Jquery更改事件[html5]

时间:2015-03-02 09:38:31

标签: javascript jquery asp.net html5

这是我的代码:

<input name="cmbname" type="text" id="cmbname" list="listcmbname" autocomplete="off" runat="server">
<datalist id="listcmbname">
         <option data-id="1" value="a"></option>
         <option data-id="8" value="aa"></option>
         <option data-id="10" value="aaa"></option>
         <option data-id="11" value="b"></option>
         <option data-id="15" value="bb"></option>
         <option data-id="18" value="bbb"></option>
</datalist>

我使用cmbname.value来获取后面代码中的输入值 但我也需要data-id。我使用了cmbname.Attributes["data-id"]但它没有用。
我认为它将通过jquery change事件修复。

请帮助

5 个答案:

答案 0 :(得分:1)

请参阅:http://jsfiddle.net/xttwt/48/

您可以找到当前选择的选项的数据ID,如下所示:

var val=$('#cmbname').val();
var data_id= $('#listcmbProcess').find('option[value="'+val+'"]').data('id');

答案 1 :(得分:0)

好吧,Jquery有.data() method。所以要获得数据ID&#39;属性,您可以使用$('input').data("id");

答案 2 :(得分:0)

$('#cmbname').attr('data-id');您也可以使用它来获取数据ID

答案 3 :(得分:0)

使用此attr()

$('#cmbname').attr('data-id'); 

答案 4 :(得分:0)

我用过这个:

<input id="cmbLoc" name="cmbLoc" runat="server" list="listcmbLoc" autocomplete="off" />
<datalist id="listcmbLoc">
       <option data-id="15" value="CPF"></option>
       <option data-id="18" value="HOLD"></option>
       <option data-id="19" value="CCR"></option>
 </datalist>
<div style="display: none"><input id="cmbLoc_ID" type="text" name="cmbLoc_ID" runat="server"/></div>
<script type="text/javascript">
    $(document).ready(function () {
          $("#cmbLoc").change(function () {
$("#MainContent_cmbLoc_ID").val($('#listcmbLoc').find('option[value="' + $(this).val() + '"]').data('id'));
          });
    });
</script>

在其后面的代码中输入cmbLoc_ID.value以获取data-id

相关问题