我在网络表单上有下拉列表。我需要在下拉列表中为每个项目设置一个“隐藏”变量,我可以使用onchange事件检索客户端。 因此,在页面加载后,我在设置下拉列表后设置了自定义属性:
For i = 0 To cboNameAL.Items.Count - 1
cboNameAL.Items(i).Attributes.Add("Charge_Rate", usernamesAdapterDataTable.Item(i).ChargeRate)
Next
这是有效的,当我查看我的渲染页面时,我会在下拉列表中看到每个项目的这个标记
<option value="05ab8c45-f7ce-4250-8458-1421e79e8a51" charge_rate="32">dave</option>
我的javascript函数从onchange事件开始正常,但是我无法检索Charge_Rate的属性值。
我尝试了以下各种组合:
var lCharge_Rate = document.getElementById("<%=cboNameAL.ClientID%>").selectedItem.attributes('Charge_Rate');
var lCharge_Rate = document.getElementById("<%=cboNameAL.ClientID%>").attributes('Charge_Rate');
var lCharge_Rate = document.getElementById("<%=cboNameAL.ClientID%>")attr('Charge_Rate');
var lCharge_Rate = document.getElementById("<%=cboNameAL.ClientID%>").getAttributes('Charge_Rate');
每个都有('Charge_Rate')或(“Charge_Rate”)或.Charge_Rate
我已经调试过,我能做的最好的事情是我的变量lCharge_Rate为null。 有任何想法吗?如果不能这样做就很乐意再做...
答案 0 :(得分:3)
您可以使用以下代码获取自定义属性的值
//This line will load the DOM of dropdown
var cboNameAL = document.getElementById("<%=cboNameAL.ClientID%>");
//This will return the selected option
var selectedOption = cboNameAL.options[cboNameAL.selectedIndex];
//This will give you the value of the attribut
var charge_rate = selectedOption.attributes.charge_rate.value;
答案 1 :(得分:1)
在获得属性之前,您需要先选择选项。
var e = document.getElementById("client_id"),
lCharge_Rate = e.options[e.selectedIndex].getAttribute('charge_rate');
document.write("Charge Rate = "+lCharge_Rate);
&#13;
<select id="client_id">
<option value="05ab8c45-f7ce-4250-8458-1421e79e8a51" charge_rate="32">dave</option>
</select>
&#13;
答案 2 :(得分:0)
创建一个等于自定义属性值的变量,然后根据需要使用它。查看我的示例并根据需要进行调整。
var $divAtribut = $("div").attr("Charge_Rate");
alert($divAtribut);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div Charge_Rate="4424">Click on run to get the attribute</div>
&#13;
答案 3 :(得分:0)
<code>
<!– my html –>
<select name="custom-select-two">
<option value="1" data-monthvalue="31">Jan</option>
<option value="2" data-monthvalue="28">Feb</option>
<option value="3" data-monthvalue="31">Mar</option>
<option value="4" data-monthvalue="30">Apr</option>
<option value="5" data-monthvalue="31">May</option>
<select>
<!– Get value of option’s custom attribute value from dropdown or select box –>
<script type="text/javascript">
$(document).ready(function(){
var monthvalue = $('.custom-select-two :selected').data('monthvalue');
alert(monthvalue); // here comes your dropdown option's custom attribute value
});
</script>
</code>