function express_change(){
var extId = $("select[name='expressType']").val();
if(extId == "14660000000000000") {
//电子卡券
$(".s_name").each(function(i){
if(i>0) {
$(this).html("卡券密码:");
}
});
} else {
$(".s_name").each(function(i){
if(i>0) {
$(this).html("物流单号:");
}
});
if(extId=="1"){
var html='<option value="0">--请选择--</option>';
<c:forEach var="item" items="${allCompInfoList }">
html+='<option value="${item.id }">${item.name }</option>';
</c:forEach>
$("select[name='expressType']").html(html);
}
}
}
jsp代码
<div class="xzl">
<ul>
<li><span class="s_name">物流名称:</span>
<select class="select_s" name="expressType" οnchange="express_change()">
<option value="">--请选择--</option>
<c:if test="${not empty CompInfoList && CompInfoList.size() > 0 }">
<c:forEach var="item" items="${CompInfoList }">
<option value="${item.id }">${item.name }</option>
</c:forEach>
<option value="1">--全部--</option>
</c:if>
</select>
</li>
</ul>
<div class="clear"></div>
</div>
1,首先js中可以使用服务器代码:<c:foreach items="${allComInfoList}" var="item" >
但是最好不要在js中直接接收数据,例如:使用一个变量存储 var temp ="${allComInfoList}" 获取的是字符串,里面包含的是对象, var temp =${allComInfoList}也能获取,是对象
上面的代码,却巧妙的使用html拼接成html获取数据,很爽啊,第一次这样做,太爽了。使用一个select下拉框把数据显示处理
当点击全部时,判读全部的value=1来执行js代码,把所有的数据都遍历出来
不用刷新页面,就在select下拉框中实现了