如何使用javascript或jquery

时间:2016-06-03 13:46:44

标签: javascript jquery html asp.net

我在网络表单上有下拉列表。我需要在下拉列表中为每个项目设置一个“隐藏”变量,我可以使用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。 有任何想法吗?如果不能这样做就很乐意再做...

4 个答案:

答案 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)

在获得属性之前,您需要先选择选项。

&#13;
&#13;
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;
&#13;
&#13;

答案 2 :(得分:0)

创建一个等于自定义属性值的变量,然后根据需要使用它。查看我的示例并根据需要进行调整。

&#13;
&#13;
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;
&#13;
&#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>