jquery动态绑定元素
按照正常给静态元素绑定事件的写法换成给动态元素绑定事件会不管用,要用下面的方式:
简单说就是给要绑定元素的父元素绑定事件,参数中指明要绑定该父元素下面的哪个元素就行,这样就不管你这个元素是不是新增的,都有绑定的事件,代码如下:
<div class="btn-group listType"> <button id="listType" class="btn" value="" style="min-width: 280px;_width:280px;" data-toggle="dropdown">==请选择==</button> <button class="btn dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button> <ul id=“listType_ul” class="dropdown-menu" style="min-width:300px;_width:300px;"> <li><a href="javascript:void(0)" value="1001">菜单1</a></li> <li><a href="javascript:void(0)" value="1002">菜单2</a></li> </ul> </div>
要绑定最终的a元素的绑定事件,但是这里的a是动态加载完放进来的,所以我们要先绑定class="dropdown-menu"的ul,然后on事件第2个参数指明是a元素
$(".listType .dropdown-menu").on("click","a",function(){ $("#listType").text($(this).text()); $("#listType").attr("value",$(this).attr("value")); })