列表更改时我需要调用一个javascript
函数。dropdown
我怎样才能实现asp.net
呢?
每当单击下拉列表时,使用onchange
事件来执行功能。
<select id="mylist" onchange = "go()">
<option value="value1">value1</option>
<option value="value2">value2</option>
</select>
<script>
function go()
{
var x = document.getElementById("mylist").value;
console.log(x);
}
</script>
<asp:DropDownList runat="server" ID="DDList" onclick="alert(1)"></asp:DropDownList>
如果你想在元素点击时执行函数,你可以使用上面的代码来定义一个应该在“onclick”中执行的函数。
但最好使用类似的东西addEventListener
,只需搜索跨浏览器函数(例如,这里的 addListener 函数):
document.getElementById("<%=DDList.ClientID %>").addEventListener("click", fucntionToExecuteName, false)
请记住,在这种情况下,您必须将DDList.ClientID
其用作元素的 id,因为它与您在 aspx 代码中设置的 ID 不同
但是如果你需要在实际值改变时执行一些函数,你应该使用onchange
event.
使用jQuery:
$(document).ready(function(){
$("#DropDownID").change(function () {
// Your requirment
});
});
另外最好把它写在里面document.ready
使用这样的东西(使用 jQuery):
$(document).ready(function() {
$("#dropdownId").change(function(e)) {
do something...
});
});
将此脚本添加到您的标记中,并确保还包含对 jquery 的脚本引用:
$(document).ready(function()
{
$("#yourDropdownId").change(function(){
//Todo: write your javascript code here.
});
});
确保以“yourDropdownId”为 ID 的控件具有以下属性:“ClientIDMode”设置为静态或“无所不知”的 ASP.NET 引擎将为生成的 html 自动生成一个元素名称,并将父元素名称附加到默认控制。
使用 jQuery
$(document).ready(function(){
$('select[name$=DrpGoingTo]').change(function () {
//Code here
});
});
您可以使用onchange
事件并从其自身调用它:
<asp:DropDownList ID="DropdownList" runat="server" onchange="javascript:MyFunction();" >
</asp:DropDownList>