这是我的代码:
<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事件修复。
请帮助
答案 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
。