标签:ring ajax lis 等于 run 标识 说明 style upn

<script type="text/javascript">
function checkone(element){
var checkstatus=element.checked
var checkid=element.id
var checkname=element.name
if (checkstatus == false && document.getElementById(checkname)){
document.getElementById(checkname).checked=checkstatus//document.getElementById(checkname)表示全选按钮
}
else if (document.getElementById(checkname)){
var samelevelgroup=document.getElementsByName(checkname)
var allchecked=true
for (var i=0;i<samelevelgroup.length;i++){
if (samelevelgroup[i].checked==false){
allchecked=false
}
}
if ( allchecked==true ){
document.getElementById(checkname).checked=true
}
}
if (document.getElementById(checkname)){
checkone(document.getElementById(checkname))
}
}
function check(element)
{
{# 全选用id,全选下面的复选框用name对应#}
var checkstatus=element.checked
var checkid=element.id
checkone(element)
var checkgroups_down=document.getElementsByName(checkid)
for (var i = 0; i < checkgroups_down.length; i++)
{
checkgroups_down[i].checked=checkstatus
var childid= checkgroups_down[i].id
if (document.getElementsByName(childid).length>1){//如果下面有name和自己的id一致,就认为这是分组全选,下面还有子项
check(document.getElementById(childid))
}
}
}
function submittestsuit() {
var allcase=document.getElementsByTagName("input")
var selectcase=[]
for (var i=0;i<allcase.length;i++){
if ((allcase[i].checked == true) && (allcase[i].id == "testcase")) {
var filename=allcase[i].parentNode.previousSibling.previousSibling.innerHTML
var functionname=allcase[i].parentNode.previousSibling.previousSibling.previousSibling.previousSibling.innerHTML
{# alert(functionname)#}
var caseinfo = {
functionname:functionname,
filename:filename
}
selectcase.push(caseinfo)
}
}
if (selectcase.length < 1){
alert("至少选择一个case!")
}
else{
$.ajax({
cache: true,
type: "POST",
url:"{% url "save_testsuit" %}",
data:{caseinfos:JSON.stringify(selectcase)},// 你的formid
async: false,
error: function(request) {
alert("保存失败");
},
success: function(data) {
if(data.respcode==0){
alert("测试套件已生成");
var w = window.open();
w.location=("{% url "runtestinfo" %}")
}
else{
alert(JSON.stringify(selectcase))
alert(data.msg);
}
}
});
}
}
</script>
<div style="margin-bottom: 10px"> <span style="margin-left: 10px">全选所有case </span> <input type="checkbox" id="groupcheck" onclick="check(this)"> </div> <div> <table class="table table-hover"> <tr style="background-color: #5bc0de"> <th>用例描述</th> <th>测试方法名</th> <th>所属文件</th> <th>勾选要执行的用例</th> </tr> {# 全选是根据name和id进行联动的,上级的id和下级的name要一致#} {% for group in testcaselist.testcaseslist %} <tr style="background-color: #9acfea"> <th> <span>{{ group.groupname }}</span> <span><input id="{{ group.groupname }}" name="groupcheck" type="checkbox" onclick="check(this)"></span> </th> </tr> {% for testcase in group.testcase %} <tr> <td width="35%">{{ testcase.desc }}</td> <td width="30%" id="functionname">{{ testcase.functionname }}</td> <td width="20%" id="filename">{{ testcase.filename }}</td> <td width="15%"><input id="testcase" name="{{ group.groupname }}" type="checkbox" onclick="check(this)"></td> </tr> {% endfor %} {% endfor %} </table> </div> <div style="margin-top: 20px"> <button type="button" class="btn btn-default" onclick="submittestsuit()">生成测试套件</button> </div>
标签:ring ajax lis 等于 run 标识 说明 style upn
原文地址:http://www.cnblogs.com/meitian/p/7040743.html