87,993
社区成员
发帖
与我相关
我的任务
分享
<table class="tdbg" cellspacing="0" rules="all" border="1" id="GridView1" style="font-size:9pt;width:100%;border-collapse:collapse;">
<tr align="center" style="background-color:#99CCFF;">
<th scope="col">
<input id="GridView1_ctl01_chkHeader" type="checkbox" name="GridView1$ctl01$chkHeader" onclick="javascript:SelectAll(this);" />采购批次
</th><th scope="col">
日期
</th><th scope="col">
客户单位
</th><th scope="col">
型号
</th><th scope="col">
数量(T)
</th><th scope="col">
单价
</th><th scope="col">
网价
</th><th scope="col">
加工费
</th><th scope="col">
销售金额
</th><th scope="col">
代理价
</th><th scope="col">
代理扣税
</th><th scope="col">
中介费
</th><th scope="col">
实际销售额
</th><th scope="col">
到账金额
</th><th scope="col">
操作
</th>
</tr><tr>
<td align="center" style="width:6%;">
<input id="cbSelectInfo"
type="checkbox"
value='517'
name="cbSelectInfo">
52
</td><td align="center" style="width:7%;">
2017年01月16日
</td><td align="center" style="width:18%;">
abcdef制品厂
</td><td align="center" style="width:5%;">
zx01
</td><td align="center" style="width:5%;">
0.955
</td><td align="center" style="width:5%;">
23780.00
</td><td align="center" style="width:5%;">
22850.00
</td><td align="center" style="width:5%;">
930.00
</td><td align="center" style="width:6%;">
22709.90
</td><td align="center" style="width:5%;">
930.00
</td><td align="center" style="width:5%;">
0.00
</td><td align="center" style="width:5%;">
0.00
</td><td align="center" style="width:7%;">
22709.90
</td><td align="center" style="width:5%;">
42965.00
</td><td align="center" style="width:5%;">
<a href='SaleOrderUpdate.aspx?pageNo=0&op=edit&ID=517'>修改</a>
</td>
</tr><tr style="color:Blue;">
<td align="center" style="width:6%;">
<input id="cbSelectInfo"
type="checkbox"
value='512'
name="cbSelectInfo">
52
</td><td align="center" style="width:7%;">
2017年01月13日
</td><td align="center" style="width:18%;">
AAAAAA有限公司
</td><td align="center" style="width:5%;">
zzzz
</td><td align="center" style="width:5%;">
10
</td><td align="center" style="width:5%;">
22980.00
</td><td align="center" style="width:5%;">
22480.00
</td><td align="center" style="width:5%;">
500.00
</td><td align="center" style="width:6%;">
229800.00
</td><td align="center" style="width:5%;">
500.00
</td><td align="center" style="width:5%;">
0.00
</td><td align="center" style="width:5%;">
0.00
</td><td align="center" style="width:7%;">
229800.00
</td><td align="center" style="width:5%;">
0.00
</td><td align="center" style="width:5%;">
<a href='SaleOrderUpdate.aspx?pageNo=0&op=edit&ID=512'>修改</a>
</td>
</tr></table>
var getChecked = function (arrDom) {
var rst = [];
for (var i = 0; i < arrDom.length; i++)
if (arrDom[i].checked) rst.push(arrDom[i]);
return rst;
},trim=function(v){return v.replace(/^\s+|\s+$/g, '')};
function checkState() {
var ipt = getChecked(document.getElementById('GridView1').getElementsByTagName('input'));
if (ipt.length == 1) {
var v = trim(ipt[0].parentNode.parentNode.cells[2].innerHTML);
if (v == "AAAAAA有限公司") {//为毛这里的判断无法成立?字符串相等不能这么弄?
alert('这个公司名字好奇怪!');
return false;
}
else alert(v)
}
else if (ipt.length > 1) {//多选分支,自己写逻辑,我是看不懂你逻辑了。。
var allSame = true, tr = ipt[0].parentNode.parentNode;
var cmpName = trim(tr.cells[2].innerHTML);
var date = trim(tr.cells[1].innerHTML);
var no = trim(tr.cells[3].innerHTML);
var price = trim(tr.cells[5].innerHTML);
for (var i = 1; i < ipt.length; i++) {
tr = ipt[i].parentNode.parentNode;
if (cmpName != trim(tr.cells[2].innerHTML)
|| date != trim(tr.cells[1].innerHTML)
|| no != trim(tr.cells[3].innerHTML)
|| price != trim(tr.cells[5].innerHTML)) {
allSame = false; break;
}
}
if(!allSame)alert('日期 ,客户单位 ,型号 ,单价必须一致!');
}
else alert('木有选择记录!')
}
var getChecked = function (arrDom) {
var rst = [];
for (var i = 0; i < arrDom.length; i++)
if (arrDom[i].checked) rst.push(arrDom[i]);
return rst;
}
function checkState() {
var ipt = getChecked(document.getElementById('GridView1').getElementsByTagName('input'));
if (ipt.length == 1) {
var v = ipt[0].parentNode.parentNode.cells[2].innerHTML;//我的这个cells[2]是从0开始算
if (v == "AAAAAA有限公司") {//为毛这里的判断无法成立?字符串相等不能这么弄?
alert('这个公司名字好奇怪!');
return false;
}
else alert(v)
}
else if (ipt.length > 1) {//多选分支,自己写逻辑,我是看不懂你逻辑了。。
alert(ipt.length);//其实我的逻辑很简单啊,如果那个六A公司和那个奇怪名字的制品厂的名称一致,日期一致,单价一致,产品型号一致,这两条记录就可以在一起啊在一起,否则就提示用户什么原因不能在一起
}
else alert('木有选择记录!')
}
都在代码里了
<input type="button" value="check" onclick="checkState()" />
<script>
var getChecked = function (arrDom) { var rst = []; for (var i = 0; i < arrDom.length; i++) if (arrDom[i].checked) rst.push(arrDom[i]); return rst; }
function checkState() {
var ipt = getChecked(document.getElementById('GridView1').getElementsByTagName('input'));
if (ipt.length == 1) {
var v = parseFloat(ipt[0].parentNode.parentNode.cells[12].innerHTML);//不懂你13是从1开始算还是0,数组是从0开始算
if (v == 0) alert('实际销售额为0')
else alert(v)
}
else if (ipt.length > 1) {//多选分支,自己写逻辑,我是看不懂你逻辑了。。
}
else alert('木有选择记录!')
}
</script>
function chk() {
//检测checkbox是否选中
var obj = document.getElementsByName('cbSelectInfo'); //选择所有name="'cbSelectInfo'"的对象,返回数组
//取到对象数组后,我们来循环检测它是不是被选中
var s = '';
for (var i = 0; i < obj.length; i++) {
if (obj[i].checked) s += obj[i].value + ','; //如果选中,将value添加到变量s中
}
//那么现在来检测s的值就知道选中的复选框的值了
if (s == "") {
alert("请选择一条或者多条销售记录");
return false;
}
//获得checkbox所在行的数据
var rows = document.getElementById("GridView1").rows;
//将销售记录的日期、客户单位、产品型号、销售单价分别放入4个数组
var strdate = [];
var strsup = [];
var strst = [];
var strsale = [];
for (var i = 0; i < obj.length; i++) {
if (obj[i].checked) {
var row1 = obj[i].parentElement.parentElement.rowIndex;
strdate.push(rows[row1].cells[1].innerHTML);
strsup.push(rows[row1].cells[2].innerHTML);
strst.push(rows[row1].cells[3].innerHTML);
strsale.push(rows[row1].cells[5].innerHTML);
//cjstr.push(rows[row1].cells[14].innerHTML);
}
}
//循环比较数组内元素,有不一致的地方则中断程序
var nar1 = strdate.sort();
var nar2 = strsup.sort();
var nar3 = strst.sort();
var nar4 = strsale.sort();
for (var i = 0; i < nar1.length - 1; i++) {
if (nar1[i] != nar1[i + 1]) {
alert("销售日期不一致:" + nar1);
return false;
}
if (nar2[i] != nar2[i + 1]) {
alert("客户单位不一致:" + nar2);
return false;
}
if (nar3[i] != nar3[i + 1]) {
alert("产品型号不一致:" + nar3);
return false;
}
if (nar4[i] != nar4[i + 1]) {
alert("销售单价不一致:" + nar4);
return false;
}
}
}
我写的这个js,判断是否选中,判断选择的多行数据中的某些字段是否相等,但是检测某个列值是否符合要求,死活出不来