最近在做一個項目時需要在需要給用戶彈出選擇框,讓用戶選擇要選擇的商品,所以使用到了jquery webox的插件。
使用非常簡單,可以去這裏下載,有使用方法點擊打開鏈接
使用過程中問題就出來了,我想獲取彈出窗口的值以方便傳給後臺進行處理,但是卻始終無法獲取到值,而且只能獲取到初始值,最後通過瀏覽器工具查看動態生成的html代碼發現了問題之所在。原因如下
jquery webox的實現原理是 html:$("#box").html(),這句代碼的意思就是把你制定的一段html代碼放置在他自己的一個<div class="webox"></div>中動態顯示,所以使用jquery獲取原來的標籤中的值是無法獲取到的。比如
<div id="box" style="display:none;">
<div class="mainlist" style="text-align: center;margin-top: 20px;">
<input type="radio" value="1" name="flag"/><img src="<%=contextPath %>/img/op_memo_1.png" style="margin-right: 10px">
<input type="radio" value="2" name="flag"/><img src="<%=contextPath %>/img/op_memo_2.png" style="margin-right: 10px">
<input type="radio" value="3" name="flag"/><img src="<%=contextPath %>/img/op_memo_3.png" style="margin-right: 10px">
<input type="radio" value="4" name="flag"/><img src="<%=contextPath %>/img/op_memo_4.png" style="margin-right: 10px">
<input type="radio" value="5" name="flag"/><img src="<%=contextPath %>/img/op_memo_5.png" style="margin-right: 10px">
</div>
<div style="text-align: center;margin-top: 15px;">
<a href="javascript:void(0);" class="hideBox button button-rounded button-small" style="font-size:10px;margin-bottom:2px;">取 消</a>
<a href="javascript:void(0);" class="okBox button button-rounded button-small" style="font-size:10px;margin-bottom:2px;">確 定</a>
</div>
想顯示這一段html到彈出框中,想獲取radio哪個被選中
$("input[type=radio][name=flag]:checked").val();//無法獲取或者獲取到默認值
正確的應該是
$(".webox").find("input[type=radio][name=flag]:checked").val();//正確
經過一番折騰後jquery webox彈出框助於可以獲取到彈出框的值了