- 浏览: 126086 次
- 性别:
- 来自: 南京
-
文章分类
- 全部博客 (97)
- Jquery (3)
- Oracle (11)
- JS (12)
- Struts2 (4)
- java (17)
- 课程 (1)
- Jboss (0)
- EJB (0)
- MAVEN (1)
- Design Pattern (0)
- css (2)
- axis1.4 (2)
- hessian (1)
- big data (1)
- Tomcat (3)
- redis (1)
- OVAL validate (1)
- express (1)
- eclipse (1)
- name node 无法启动 (1)
- hadoop (2)
- mysql (1)
- spring (1)
- sbt (1)
- angular (1)
- cas (1)
- JSSDK (1)
- 微信支付 (1)
- 小程序 (1)
- mybatis (1)
- jxta (1)
- idea (2)
- lay ui (1)
- sofa (1)
最新评论
-
duanwenping520:
这也太省事了把!
sj22
Array.prototype.remove=function(i){
if(isNaN(i) || i<0 || i>=this.length){
return ;
}
var rv=this[i];
for(;i<this.length-1;i++){
this[i]=this[i+1];
}
this.pop();
return rv;
}
var keyArr;
var valueArr;
function HashTable_put(key,value){
var i=0;
for(;i<keyArr.length;i++){
if(keyArr[i]==key){
return false;
}
}
keyArr.push(key);
valueArr.push(value);
return true;
}
function HashTable_set(key,value){
var i=0;
for(;i<keyArr.length;i++){
if(keyArr[i]==key){
valueArr[i]=value;
return true;
}
}
return false;
}
function HashTable_get(key){
if(typeof(key)=="number" && parseInt(key)==key && key+""==key){
return HashTable_get_i(key);
}else if(typeof(key)=="string"){
return HashTable_get_s(key);
}else{
return ;
}
}
function HashTable_get_i(key){
if(valueArr.length<=key){
return ;
}else{
return valueArr[key];
}
}
function HashTable_get_s(key){
var i=0;
for(;i<keyArr.length;i++){
if(keyArr[i]==key){
break;
}
}
if(i==keyArr.length){
return ;
}
return valueArr[i];
}
function HashTable_remove(key){
if(typeof(key)=="number" && parseInt(key)==key && key+""==key){
return HashTable_remove_i(key);
}else if(typeof(key)=="string"){
return HashTable_remove_s(key);
}else{
return ;
}
}
function HashTable_remove_i(key){
keyArr.remove(key);
return valueArr.remove(key);
}
function HashTable_remove_s(key){
var i=0;
for(;i<keyArr.length;i++){
if(keyArr[i]==key){
break;
}
}
if(i==keyArr.length){
return ;
}
keyArr.remove(i);
return valueArr.remove(i);
}
function HashTable_getKeys(){
return keyArr;
}
function HashTable_getValues(){
return valueArr;
}
function HashTable_getLength(){
return valueArr.length;
}
function HashTable(){
keyArr=new Array();
valueArr=new Array();
this.put=HashTable_put;
this.set=HashTable_set;
this.get=HashTable_get;
this.remove=HashTable_remove;
this.getKeys=HashTable_getKeys;
this.getValues=HashTable_getValues;
this.getLength=HashTable_getLength;
}
$(function() {
$("#tbSave").click(function() {
var selChk= document.getElementsByName("chkTypes");
var count =0;
var a=new HashTable();
// var b= new HashTable();
for(var i=0;i<selChk.length;i++){//对选择的品牌构造Map
if(selChk[i].checked){
var cafN1 =Trim(selChk[i].parentElement.parentElement.children(1).children(0).value);
var typeName =Trim(selChk[i].parentElement.parentElement.children(2).children(0).value);
var temp=a.get(cafN1);
if(temp==undefined){
a.put(cafN1,1);
}else{
//alert(cafN1);
temp+=1;
a.set(cafN1,temp);
}
var tempb= a.get(typeName);
if(tempb==undefined){
a.put(typeName,1)
}else{
tempb+=1;
a.set(typeName,tempb);
}
count++
}
}
var sel= document.getElementsByName("sel");
var bidType="";
for(var j=0;j<sel.length;j++){
if(sel[j].checked){
if(sel[j].value=="1"){
if(count==0){
alert("请至少选择一种品牌");
return false;
}
if(count >1){
alert("只能选择一种品牌");
return false;
}
bidType="单品牌";
}else{
if(count<9){
alert("请至少选择9种品牌");
return false;
}
if(count >9){
alert("只能选择9种品牌");
return false;
}
bidType="多品牌";
}
$("#ordersAction_bidPlans_bidPlanType").val(sel[j].value);
}
}
var chks= document.getElementsByName("chk");
var kCount=0;
for(var k=0;k<chks.length;k++){
if(chks[k].checked){
kCount++;
}
}
if($("#ordersAction_bidPlans_bidPlanType").val()=="1"){
if(kCount==0){
alert("请至少选择一种类别");
return false;
}
if(kCount >1){
alert("只能选择一种类别");
return false;
}
}else{
if(kCount<3){
alert("请至少选择三种类别");
return false;
}
if(kCount >3){
alert("只能选择三种类别");
return false;
}
}
for(var k=0;k<chks.length;k++){
if(chks[k].checked){
var textT=chks[k].parentElement.children(1).innerHTML;
var tCount= a.get(Trim(textT));
if(tCount==undefined){
alert("选定的品牌中不存在类别:"+textT+",请重新选定类别");
return false;
}
if($("#ordersAction_bidPlans_bidPlanType").val()=="2"){//多品牌需要进一步验证类别个数
if(tCount>3){
alert(textT+":类别的品牌只能选择3种!")
return false;
}if(tCount>3){
alert(chks[k].text+":类别的品牌至少选择3种!")
return false;
}
}
}
}
var aValues= a.getValues();
var aKeys= a.getKeys();
// alert(aKeys.length);
for(var t=0;t<aValues.length;t++){
//alert(aValues[t]+aKeys[t]);
if($("#ordersAction_bidPlans_bidPlanType").val()=="2"){//多品牌需要进一步验证品牌个数
if(aValues[t]>3){
alert(aKeys[t] +":品牌只能选择三种!")
return false;
} if (aValues[t]<3){
alert(aKeys[t] +":品牌至少选择三种!")
return false;
}
}
}
if(count==0){
alert("请至少选择一种品牌");
return false;
}
var bidId=$("#ordersAction_bidPlans_bidId").val();
var confirmBox= confirm("确认保存选定的品牌吗?");
if(confirmBox){
$("#ordersAction_action").val("saveBidPlans");
$(":form").submit();
window.returnValue=bidType+";"+bidId;
}
});
<tr vAlign="top" align="center" >
<td align="center" >
<table cellSpacing="0" cellPadding="0" width="100%" bgColor="#f2f4f7" border="0">
<tr height="25">
<td vAlign="bottom">
<table border="0" cellSpacing="1" cellPadding="1" width="100%" class="table" >
<tr vAlign="bottom" height="26" class="tr_3">
<td vAlign="middle" align="left" width="130">品目:${bidPlans.catName} <s:hidden name="catNo" /></td>
<td> 单品牌:<input type="radio" name="sel" value="1" /></td>
<td >多品牌:<input type="radio" name="sel" checked value="2" /></td>
</tr>
<tr vAlign="bottom" height="26" class="tr_3">
<td vAlign="middle" align="left" width="130">类别: </td>
<td colspan="2">
<table cellSpacing="10" cellPadding="10" >
<s:checkboxlist name="chk" theme="xhtml" template="customcheckboxlist.ftl" list="typeList" listKey="typeId" listValue="typeName" ></s:checkboxlist>
</table>
</td>
</tr>
<tr id="BtnTabTr">
<td colspan="3" align="center">
</td>
</tr>
</table>
</td>
</tr>
<%--<% if (UsrType="2") then %>
<tr height="525">
<tr height="488">
<%end if%>
--%>
<tr>
<td vAlign="top" align="center" width="100%" >
<table class="OrderBodyTop" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"
cellSpacing="0" cellPadding="0" width="100%">
<tr >
<td class="OrderCellItem" align="center" width="681">
<s:if test="%{chkTypes!=null}">
<b>已选定的品牌如下:</b>
</s:if>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td vAlign="top" align="center" width="100%">
<table class="OrderBodyTop" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"
cellSpacing="0" cellPadding="0" width="100%">
<tr height="25">
<td class="OrderCellTop" align="left" width="80" > 选择<br> <input type='checkbox' name='selcAll' id='selcAll' />
</td>
<td class="OrderCellTop" align="center" width="80" > 品牌
</td>
<td class="OrderCellTop" align="center" width="50" > 类别
</td>
<td class="OrderCellTop" align="center" width="248" >型号<br>
</td>
</tr>
<s:iterator value="bidPlansDtl" status="sta" var="x">
<tr height="25" id='${sta.count+2}'class="tr_3" >
<td class="OrderCellBt" width="40" align="left">
<s:property value="%{#sta.count}"/><input name="chkTypes" type="checkbox" value="${cafNo}" />
<s:hidden name="bidPlansDtl[%{#sta.index}].cafNo"/>
</td>
<td class="OrderCellItem" align="center">
<s:textfield name="bidPlansDtl[%{#sta.index}].cafN1" readonly ="true" cssClass="NoneBorder" cssStyle="WIDTH: 100%; HEIGHT: 18px; TEXT-ALIGN: left"/>
</td>
<td class="OrderCellItem" align="center">
<s:textfield name="bidPlansDtl[%{#sta.index}].typeName" cssClass="NoneBorder" cssStyle="WIDTH: 100%; HEIGHT: 18px; TEXT-ALIGN: left"/>
<s:hidden name="bidPlansDtl[%{#sta.index}].typeId"/>
</td>
<td class="OrderCellItem" align="center"><s:textfield name="bidPlansDtl[%{#sta.index}].cafN2" cssClass="NoneBorder" cssStyle="WIDTH: 100%; HEIGHT: 18px; TEXT-ALIGN: center" />
</td>
</tr>
</s:iterator>
</table>
</td>
</tr>
if(isNaN(i) || i<0 || i>=this.length){
return ;
}
var rv=this[i];
for(;i<this.length-1;i++){
this[i]=this[i+1];
}
this.pop();
return rv;
}
var keyArr;
var valueArr;
function HashTable_put(key,value){
var i=0;
for(;i<keyArr.length;i++){
if(keyArr[i]==key){
return false;
}
}
keyArr.push(key);
valueArr.push(value);
return true;
}
function HashTable_set(key,value){
var i=0;
for(;i<keyArr.length;i++){
if(keyArr[i]==key){
valueArr[i]=value;
return true;
}
}
return false;
}
function HashTable_get(key){
if(typeof(key)=="number" && parseInt(key)==key && key+""==key){
return HashTable_get_i(key);
}else if(typeof(key)=="string"){
return HashTable_get_s(key);
}else{
return ;
}
}
function HashTable_get_i(key){
if(valueArr.length<=key){
return ;
}else{
return valueArr[key];
}
}
function HashTable_get_s(key){
var i=0;
for(;i<keyArr.length;i++){
if(keyArr[i]==key){
break;
}
}
if(i==keyArr.length){
return ;
}
return valueArr[i];
}
function HashTable_remove(key){
if(typeof(key)=="number" && parseInt(key)==key && key+""==key){
return HashTable_remove_i(key);
}else if(typeof(key)=="string"){
return HashTable_remove_s(key);
}else{
return ;
}
}
function HashTable_remove_i(key){
keyArr.remove(key);
return valueArr.remove(key);
}
function HashTable_remove_s(key){
var i=0;
for(;i<keyArr.length;i++){
if(keyArr[i]==key){
break;
}
}
if(i==keyArr.length){
return ;
}
keyArr.remove(i);
return valueArr.remove(i);
}
function HashTable_getKeys(){
return keyArr;
}
function HashTable_getValues(){
return valueArr;
}
function HashTable_getLength(){
return valueArr.length;
}
function HashTable(){
keyArr=new Array();
valueArr=new Array();
this.put=HashTable_put;
this.set=HashTable_set;
this.get=HashTable_get;
this.remove=HashTable_remove;
this.getKeys=HashTable_getKeys;
this.getValues=HashTable_getValues;
this.getLength=HashTable_getLength;
}
$(function() {
$("#tbSave").click(function() {
var selChk= document.getElementsByName("chkTypes");
var count =0;
var a=new HashTable();
// var b= new HashTable();
for(var i=0;i<selChk.length;i++){//对选择的品牌构造Map
if(selChk[i].checked){
var cafN1 =Trim(selChk[i].parentElement.parentElement.children(1).children(0).value);
var typeName =Trim(selChk[i].parentElement.parentElement.children(2).children(0).value);
var temp=a.get(cafN1);
if(temp==undefined){
a.put(cafN1,1);
}else{
//alert(cafN1);
temp+=1;
a.set(cafN1,temp);
}
var tempb= a.get(typeName);
if(tempb==undefined){
a.put(typeName,1)
}else{
tempb+=1;
a.set(typeName,tempb);
}
count++
}
}
var sel= document.getElementsByName("sel");
var bidType="";
for(var j=0;j<sel.length;j++){
if(sel[j].checked){
if(sel[j].value=="1"){
if(count==0){
alert("请至少选择一种品牌");
return false;
}
if(count >1){
alert("只能选择一种品牌");
return false;
}
bidType="单品牌";
}else{
if(count<9){
alert("请至少选择9种品牌");
return false;
}
if(count >9){
alert("只能选择9种品牌");
return false;
}
bidType="多品牌";
}
$("#ordersAction_bidPlans_bidPlanType").val(sel[j].value);
}
}
var chks= document.getElementsByName("chk");
var kCount=0;
for(var k=0;k<chks.length;k++){
if(chks[k].checked){
kCount++;
}
}
if($("#ordersAction_bidPlans_bidPlanType").val()=="1"){
if(kCount==0){
alert("请至少选择一种类别");
return false;
}
if(kCount >1){
alert("只能选择一种类别");
return false;
}
}else{
if(kCount<3){
alert("请至少选择三种类别");
return false;
}
if(kCount >3){
alert("只能选择三种类别");
return false;
}
}
for(var k=0;k<chks.length;k++){
if(chks[k].checked){
var textT=chks[k].parentElement.children(1).innerHTML;
var tCount= a.get(Trim(textT));
if(tCount==undefined){
alert("选定的品牌中不存在类别:"+textT+",请重新选定类别");
return false;
}
if($("#ordersAction_bidPlans_bidPlanType").val()=="2"){//多品牌需要进一步验证类别个数
if(tCount>3){
alert(textT+":类别的品牌只能选择3种!")
return false;
}if(tCount>3){
alert(chks[k].text+":类别的品牌至少选择3种!")
return false;
}
}
}
}
var aValues= a.getValues();
var aKeys= a.getKeys();
// alert(aKeys.length);
for(var t=0;t<aValues.length;t++){
//alert(aValues[t]+aKeys[t]);
if($("#ordersAction_bidPlans_bidPlanType").val()=="2"){//多品牌需要进一步验证品牌个数
if(aValues[t]>3){
alert(aKeys[t] +":品牌只能选择三种!")
return false;
} if (aValues[t]<3){
alert(aKeys[t] +":品牌至少选择三种!")
return false;
}
}
}
if(count==0){
alert("请至少选择一种品牌");
return false;
}
var bidId=$("#ordersAction_bidPlans_bidId").val();
var confirmBox= confirm("确认保存选定的品牌吗?");
if(confirmBox){
$("#ordersAction_action").val("saveBidPlans");
$(":form").submit();
window.returnValue=bidType+";"+bidId;
}
});
<tr vAlign="top" align="center" >
<td align="center" >
<table cellSpacing="0" cellPadding="0" width="100%" bgColor="#f2f4f7" border="0">
<tr height="25">
<td vAlign="bottom">
<table border="0" cellSpacing="1" cellPadding="1" width="100%" class="table" >
<tr vAlign="bottom" height="26" class="tr_3">
<td vAlign="middle" align="left" width="130">品目:${bidPlans.catName} <s:hidden name="catNo" /></td>
<td> 单品牌:<input type="radio" name="sel" value="1" /></td>
<td >多品牌:<input type="radio" name="sel" checked value="2" /></td>
</tr>
<tr vAlign="bottom" height="26" class="tr_3">
<td vAlign="middle" align="left" width="130">类别: </td>
<td colspan="2">
<table cellSpacing="10" cellPadding="10" >
<s:checkboxlist name="chk" theme="xhtml" template="customcheckboxlist.ftl" list="typeList" listKey="typeId" listValue="typeName" ></s:checkboxlist>
</table>
</td>
</tr>
<tr id="BtnTabTr">
<td colspan="3" align="center">
</td>
</tr>
</table>
</td>
</tr>
<%--<% if (UsrType="2") then %>
<tr height="525">
<tr height="488">
<%end if%>
--%>
<tr>
<td vAlign="top" align="center" width="100%" >
<table class="OrderBodyTop" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"
cellSpacing="0" cellPadding="0" width="100%">
<tr >
<td class="OrderCellItem" align="center" width="681">
<s:if test="%{chkTypes!=null}">
<b>已选定的品牌如下:</b>
</s:if>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td vAlign="top" align="center" width="100%">
<table class="OrderBodyTop" style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"
cellSpacing="0" cellPadding="0" width="100%">
<tr height="25">
<td class="OrderCellTop" align="left" width="80" > 选择<br> <input type='checkbox' name='selcAll' id='selcAll' />
</td>
<td class="OrderCellTop" align="center" width="80" > 品牌
</td>
<td class="OrderCellTop" align="center" width="50" > 类别
</td>
<td class="OrderCellTop" align="center" width="248" >型号<br>
</td>
</tr>
<s:iterator value="bidPlansDtl" status="sta" var="x">
<tr height="25" id='${sta.count+2}'class="tr_3" >
<td class="OrderCellBt" width="40" align="left">
<s:property value="%{#sta.count}"/><input name="chkTypes" type="checkbox" value="${cafNo}" />
<s:hidden name="bidPlansDtl[%{#sta.index}].cafNo"/>
</td>
<td class="OrderCellItem" align="center">
<s:textfield name="bidPlansDtl[%{#sta.index}].cafN1" readonly ="true" cssClass="NoneBorder" cssStyle="WIDTH: 100%; HEIGHT: 18px; TEXT-ALIGN: left"/>
</td>
<td class="OrderCellItem" align="center">
<s:textfield name="bidPlansDtl[%{#sta.index}].typeName" cssClass="NoneBorder" cssStyle="WIDTH: 100%; HEIGHT: 18px; TEXT-ALIGN: left"/>
<s:hidden name="bidPlansDtl[%{#sta.index}].typeId"/>
</td>
<td class="OrderCellItem" align="center"><s:textfield name="bidPlansDtl[%{#sta.index}].cafN2" cssClass="NoneBorder" cssStyle="WIDTH: 100%; HEIGHT: 18px; TEXT-ALIGN: center" />
</td>
</tr>
</s:iterator>
</table>
</td>
</tr>
发表评论
-
websocket 不同的聊天框显示
2016-05-16 22:48 1015easui tab 打开相同的表单,生成动态的 div,根据d ... -
kendo ui export all pdf
2015-08-18 17:20 1371http://www.telerik.com/forums/e ... -
angular js开发文档
2015-03-23 17:32 727http://docs.ngnice.com/guide/in ... -
Issue using h:commandLink with rendered attribute
2014-11-21 10:41 658http://www.coderanch.com/t/5221 ... -
blog book
2013-02-18 13:48 670http://blog.jobbole.com/707/ -
ie 8 text-align :center 居左
2013-01-16 17:52 925在第2个div里面加上 既可以居中 margin: 0 a ... -
js动态增加行
2012-01-05 09:40 889<!DOCTYPE HTML PUBLIC " ... -
浏览器缓存和frame页面css失效
2011-11-15 14:15 1113<%@ page language="java ... -
人民币大小写转换
2011-11-03 14:32 860function convertCurrency(curren ... -
css页面只读
2011-10-08 10:33 830<style type="text/css&q ... -
js刷新父页面
2011-09-30 13:46 8291.window showMadialog,刷新父页面,关闭自 ...
相关推荐
- 多个checkbox未选中:使用JavaScript遍历并检查所有checkbox的状态。 - 文本框内容判断:通过value属性和正则表达式。 16. **Ajax**: - AJAX(Asynchronous JavaScript and XML)实现了页面的局部更新,无需...
140.如何将Hashtable绑定到RadioButtonList Web控件 141.如何将XML作为数据源绑定到控件 第8章 数据库设计 143.ASP.NET应用程序如何实现与SQL Server数据库的连接 144.ASP.NET应用程序如何实现与ACCESS数据库的...
3. **如何判断一组name=”checkbox”的<checkbox>控件中没有任何一个被选中** 遍历所有checkbox,检查是否有被选中的项。 4. **如何判断一个”text” name=”myname”>文本框为空** 使用`value`属性检查是否为...
如何将Hashtable绑定到RadioButtonList Web控件 141.如何将XML作为数据源绑定到控件 第8章 数据库设计 143.ASP.NET应用程序如何实现与SQL Server数据库的连接 144.ASP.NET应用程序如何实现与ACCESS...
58. form的input类型包括text、password、submit、reset、checkbox、radio等,分别对应不同用户输入。 59. table的border控制边框,cellpadding设置单元格内边距,td的colspan和rowspan用于合并单元格。 60. ...