Ⅰ js如何实现点击编辑按钮,前端table表格行内指定td可修改。(table是动态生成的)
functionready(){varurl=base_path+"console/cfg/getBaseLayers/"+configId;$.ajax({url:url,type:"get",dataType:"json",success:function(result){//生成之前先清空tr,防止AJAX异步加载重复生成$("#lottr").remove();varlength=result.length;for(vari=0;i<length;i++){varname=result[i].name;//服务名称varalias=result[i].alias;//服务别名vartype=result[i].type;//服务类型varyear=result[i].year;//年份varurl=result[i].url;//服务地址varvisible=result[i].visible;//是否可见varid=result[i].id;//idserviceIdArray[i]=id;//此处将id塞给serviceIdArray,用于判断是否添加。varstr="";if(visible==true){//生成trstr+='<trid="';str+=id;str+='"';str+='class="lot_box"><td>';str+=i+1;str+='</td><td>';str+=name;str+='</td><td>';str+=alias;str+='</td><td>';str+=type;str+='</td><td>';str+=year;str+='</td><td>';str+=url;str+='</td><td>';str+='<inputid="';str+=id;str+='"';str+='type="checkbox"checked="true"onchange="modifyService(this.id);"/>';str+='</td><td><inputid="';str+=id;str+='"';str+='type="button"value="编辑"onclick="editTd(this.id)"/>';str+='</td><td>';str+='<buttonclass="rosy"id="';str+=id;str+='"';str+='onclick="deleteService(this.id);">';str+='<imgsrc="static/img/del14.png"></button>';str+='</td></tr>';
}else{//生成trstr+='<trid="';str+=id;str+='"';str+='class="lot_box"><td>';str+=i+1;str+='</td><td>';str+=name;str+='</td><td>';str+=alias;str+='</td><td>';str+=type;str+='</td><td>';str+=year;str+='</td><td>';str+=url;str+='</td><td>';str+='<inputid="';str+=id;str+='"';str+='type="checkbox"onchange="modifyService(this.id);"/>';str+='</td><td><inputid="';str+=id;str+='"';str+='type="button"value="编辑"onclick="editTd(this.id)"/>';str+='</td><td>';str+='<buttonclass="rosy"id="';str+=id;str+='"';str+='onclick="deleteService(this.id);">';str+='<imgsrc="static/img/del14.png"></button>';str+='</td></tr>';
}var$tr=$(str);$("#lot").append($tr);
}
}
});
}
2)
//修改table行内元素(td)functioneditTd(id){//选中编辑按钮的时候,把这行指定的几个td变成文本框varb=$("input[type='button'][id='"+id+"']").parent();//tdvara=b.siblings();//td的兄弟节点if(a[1].children.length===0){a[1].innerHTML="<inputtype='text'value='"+a[1].innerText+"'/>";
}
if(a[2].children.length===0){a[2].innerHTML="<inputtype='text'value='"+a[2].innerText+"'/>";
}
if(a[3].children.length===0){a[3].innerHTML="<inputtype='text'value='"+a[3].innerText+"'/>";
}//将编辑改成保存和取消两个按钮b[0].innerHTML="<inputid='"+id+"'type='button'onclick='saveEditTd(this.id);'value='保存'/><inputtype='button'onclick='resertEditTd();'value='取消'/>";
//以下注掉的都是在网上找的参考。/*alert(a[0].getText());var$this=$(this).index();alert($this);*//*$('input[type="button"]').on('click',function(){var$this=$(this).parent().parent();//trready();});*//*var$=function(node){returntypeofnode=="string"?document.getElementById(node):node;}var$1=function(node,parent){varnd=document.createElement(node);if(parent)parent.appendChild(nd);returnnd;}/!**绑定事件流*!/varbind=function(obj,eventName,funcionName){if(obj.addEventListener){obj.addEventListener(eventName,funcionName,false);}elseif(obj.attachEvent){obj.attachEvent("on"+eventName,funcionName);}else{obj["on"+eventName]=funcionName;}};varfulltable=function(tbody,data){varpd=data.data;varcolumn=data.column;for(vari=0,len=data.rows;i<len;i++){vartr=$1("tr",tbody);varcd=pd[i];for(varj=0,jlen=column.length;j<jlen;j++){vartd=$1("td",tr);td.innerHTML=cd[column[j]];//innerText不兼容火狐,可以自己写innerText和textContent的兼容,这里就直接用innerHTML了}}}varlittlehow_edit_table=function(tbody,ev){this.tbody=$(tbody);this.event=ev?ev:"click";//默认为单机事件this.init=function(data){//data可以是undefinedif(data){fulltable(this.tbody,data);}//调用可编辑this.edit();}this.edit=function(){vartds=this.tbody.getElementsByTagName("td");for(vari=0,len=tds.length;i<len;i++){bind(tds[i],this.event,this.click);}}this.click=function(){//alert(this.children.length);if(this.children.length>0)return;varv=this.innerHTML;this.innerHTML="";varinput=$1("input",this);input.type="text";input.value=v;input.focus();//光标聚集bind(input,"blur",blur);}varblur=function(){varv=this.value;this.parentNode.innerHTML=v;}}window.$$=function(id,ev){returnnewlittlehow_edit_table(id,ev);};*//*$('.editable').handleTable({"handleFirst":true,"cancel":"<spanclass='glyphiconglyphicon-remove'></span>","edit":"<spanclass='glyphiconglyphicon-edit'></span>","add":"<spanclass='glyphiconglyphicon-plus'></span>","save":"<spanclass='glyphiconglyphicon-saved'></span>","confirm":"<spanclass='glyphiconglyphicon-ok'></span>","operatePos":-1,"editableCols":[2,3,4],"order":["add","edit"],"saveCallback":function(data,isSuccess){//这里可以写ajax内容,用于保存编辑后的内容//data:返回的数据//isSucess:方法,用于保存数据成功后,将可编辑状态变为不可编辑状态varflag=true;//ajax请求成功(保存数据成功),才回调isSuccess函数(修改保存状态为编辑状态)if(flag){isSuccess();alert(data+"保存成功");}else{alert(data+"保存失败");}returntrue;},"addCallback":function(data,isSuccess){varflag=true;if(flag){isSuccess();alert(data+"增加成功");}else{alert(data+"增加失败");}},"delCallback":function(isSuccess){varflag=true;if(flag){isSuccess();alert("删除成功");}else{alert("删除失败");}}});*//*//dom创建文本框varinput=document.createElement("input");input.type="text";//得到当前的单元格varcurrentCell;functioneditCell(event){if(event==null){currentCell=window.event.srcElement;}else{currentCell=event.target;}//根据Dimmacro的建议修定下面的bug非常感谢if(currentCell.tagName=="TD"){//用单元格的值来填充文本框的值input.value=currentCell.innerHTML;//当文本框丢失焦点时调用lastinput.onblur=last;input.ondblclick=last;currentCell.innerHTML="";//把文本框加到当前单元格上.currentCell.appendChild(input);//根据liu_binq63的建议修定下面的bug非常感谢input.focus();}}functionlast(){//充文本框的值给当前单元格currentCell.innerHTML=input.value;}//最后为表格绑定处理方法.document.getElementById("table").ondblclick=editCell;*//*varttr=$(this).val()=="编辑"?"确定":"编辑";$(this).val(ttr);//按钮被点击后,在“编辑”和“确定”之间切换$(this).parent().siblings("td").each(function(){//获取当前行的其他单元格varobj_text=$(this).find("input:text");//判断单元格下是否有文本框if(!obj_text.length)//如果没有文本框,则添加文本框使之可以编辑$(this).html("<inputtype='text'value='"+$(this).text()+"'>");else//如果已经存在文本框,则将其显示为文本框修改的值$(this).html(obj_text.val());});*//*$('input[type="button"]').on('click',function(){var$this=$(this);var$td_arr=$this.parent().html('保存').prevAll('td');$.each($td_arr,function(){var$td=$(this);$td.html('<inputtype="text"value="'+$td.html()+'">');});});*/}
3)
//取消editTd编辑functionresertEditTd(){ready();//此方法是自己写的,局部刷新页面,重新加载数据
}
//保存editTd编辑functionsaveEditTd(id){vara=$("input[type='button'][id='"+id+"']").parent().siblings();//td的兄弟节点vartd_name=a[1].children[0].value;//服务名称vartd_alias=a[2].children[0].value;//服务别名vartd_type=a[3].children[0].value;//服务类型varurl=base_path+"console/cfg/saveEditTd";$.ajax({url:url,type:"post",data:{"td_name":td_name,"td_alias":td_alias,"td_type":td_type,"id":id,"tpl":configId},datatype:"json",success:function(result){ready();//此方法是自己写的,局部刷新页面,重新加载数据
}
});
}
Ⅱ html动态点击按钮加1减1如何实现
需要准备的材料分别有:电脑、浏览器、html编辑器。
1、首先,打开html编辑器,新建html文件,例如:index.html。
Ⅲ .net mvc 的前端页面怎么才能实现点击按钮, 触发功能 我需要的是点击按钮 该按钮变色, 但是像我写的这样
点击按钮改变某行数据的颜色,还是点击按钮改变按钮的颜色?
不管怎样,引入jQuery就很好解决。js或者jQuery实现以上任何操作的思路都一致:1.获取该对象(比如一个<tr>对象,一个<button>对象……)2.设置该对象的属性。
Ⅳ 如何使用HTML实现点击一个链接打开新窗口
这个在网页前端中非常常用,如果你JS 部分学好了 这个也是非常容易的了 下面是具体的实现方法。
【最基本的弹出窗口代码】;其实代码非常简单:;
<SCRIPTLANGUAGE=";<!--;window.open('page.ht;-->;</SCRIPT>;因为这是一段javascript代码,所以它们应;Window.open('page.ht;这一段代码可以加入HTML的任意位置,加入到&l;【
【最基本的弹出窗口代码】
其实代码非常简单:
<SCRIPTLANGUAGE="javascript">
<!--
window.open('page.html')
-->
</SCRIPT>
因为这是一段javascript代码,所以它们应该放在<SCRIPT LANGUAGE ="javascript">标签和</script>之间。<!--和-->是对一些版本低的浏览器起作用,在这些老浏览器中如果不支持javascript,不会将标签中的代码作为文本显示出来。
Window.open ('page.html')用于控制弹出新的窗口page.html,如果page.html不与主窗口在同一路径下,前面应写明路径,绝对路径(http://)和相对路径(../)均可。 用单引号和双引号都可以,只是不要混用。
这一段代码可以加入HTML的任意位置,加入到<head>和</head>之间也可以,位置越靠前执行越早,尤其是页面代码较长时,又想使页面早点弹出就尽量往前放。
【经过设置后的弹出窗口】
下面再说一说弹出窗口外观的设置。只要再往上面的代码中加一点东西就可以了。
我们来定制这个弹出窗口的外观、尺寸大小、弹出位置以适应该页面的具体情况。
<SCRIPTLANGUAGE="javascript:>
<!--
window.open('page.html','newwindow','height=100,width=400,top=0,left=0,
toolbar=no,menubar=no,scrollbars=no,resizable=no,
location=no,status=no')
//写成一行
-->
</SCRIPT>
参数解释:
<SCRIPT LANGUAGE="javascript"> js脚本开始;
window.open 弹出新窗口的命令;
page.html 弹出新窗口的文件名;
newwindow 弹出窗口的名字(不是文件名),可用空 ″代替;
height=100 窗口高度;
top=0 窗口距离屏幕上方的像素值;
left=0 窗口距离屏幕左侧的像素值;
toolbar=no 是否显示工具栏,yes为显示;
menubar,scrollbars 表示菜单栏和滚动栏;
resizable=no 是否允许改变窗口大小,yes为允许;
location=no 是否显示地址栏,yes为允许;
status=no 是否显示状态栏内的信息(通常是文件已经打开),yes为允许;
</SCRIPT> js脚本结束。
【用函数控制弹出窗口】
下面是一个完整的代码。
<html>
<head>
<scriptLANGUAGE="javascript">
<!--
functionopenwin(){
window.open("page.html","newwindow","height=100,width=400,toolbar=no,menubar=no,scrollbars=no,resizable=no,
location=no,status=no";)
//写成一行
}
-->
</script>
</head>
<bodyonload="openwin()">
...任意的页面内容...
</body>
</html>
这里定义了一个函数openwin(),函数内容就是打开一个窗口。在调用它之前没有任何用途。怎么调用呢?
方法一:<body onload="openwen()"> 浏览器读页面时弹出窗口;
方法二:<body onunload="openwen()"> 浏览器离开页面时弹出窗口;
方法三:用一个连接调用:<a href="#" onclick="openwin()">打开一个窗口</a>
注意:使用的"#"是虚连接。
方法四:用一个按钮调用:<input type="button" onclick="openwin()" value="打开窗口">
【主窗口打开文件1.htm,同时弹出小窗口page.html】
将如下代码加入主窗口<head>区:
<scriptlanguage="javascript">
<!--
functionopenwin(){
window.open("page.html","","width=200,height=200";)
}
//-->
</script>
加入<body>区:
<a href="http://www.xsteach.com/register?spread_id=6065805" onclick="openwin()">open</a>即可。
【弹出的窗口之定时关闭控制】
下面我们再对弹出窗口进行一些控制,效果就更好了。如果我们再将一小段代码加入弹出的页面(注意是加入到page.html的HTML中,可不是主页面中,否则…),让它在10秒钟后自动关闭是不是更酷了?
首先,将如下代码加入page.html文件的<head>区:
<scriptlanguage="javascript">
functioncloseit(){
setTimeout("self.close()",10000)//毫秒
}
</script>
然后,再用<body onload="closeit()">这一句话代替page.html中原有的<BODY>这一句就可以了。(这一句话千万不要忘记写啊!这一句的作用是调用关闭窗口的代码,10秒钟后就自行关闭该窗口。)
【在弹出窗口中加上一个关闭按钮】
<form>
<INPUTTYPE='BUTTON'value='关闭'onClick='window.close()'>
</form>
呵呵,现在更加完美了!
原来的HTML标准中可以用
<a href="document.html" target="_blank"> 打开一个新窗口</a>
但新的HTML标准严格上是不允许的。可以采用以下代码:
<ahref="document.html"rel="external">打开一个新窗口</a>
javascript:
functionexternallinks(){
if(!document.getElementsByTagName)return;
varanchors=document.getElementsByTagName("a");
for(vari=0;i<anchors.length;i++){
varanchor=anchors[i];
if(anchor.getAttribute("href")&&
anchor.getAttribute("rel")=="external")
anchor.target="_blank";
}
}
window.onload=externallinks;
我们在使用<a>标签时,常常会使用它的href属性为 一段javasrcipt来实现某些功能。比如关闭一个窗口:<a href="javascript:windows.close();">,或者弹出一个新的窗口<a href="javascript:windows.open('url');">。这样来实现窗口的操作。
当然也有人会用 onclick事件来实现打开或者关闭窗口<a href="#" onclick="windows.close();">, 打开新窗口<a href="#" onclick="windows.open(url);">。那么他们之间到底有什么区别呢?下面来好好分析一下
<a href="javascript:windows.close();">关闭窗口时,浏览器不会弹出窗口关闭的对话框,而<a href="#" onclick="windows.close();">,浏览器就会弹出窗口关闭的对话框。
<a href="javascript:windows.open('url');">打开一个新的窗口时,会使原来的窗口发生页面回传,从而导致 css样式无效,如果是动态页面的话还可能导致页面变空白。所以还是慎用这个方法。<a href="#"
onclick="windows.close();">,是完全在客户端执行的动作,页面不会产生回传,不会刷新页面。
<li onclick="javascript:window.open
('链接')"> </li>
Ⅳ 如何用JS来点击按钮
原理
用JS来点击按钮需要分2步,第一步是选中按钮的元素,第二步是使用元素自带的click函数。
例如接下来我将要演示的例子中,仅用
document.getElementById("btn").click()
一行就可以控制按钮点击。
其中document.getElementById("btn")是根究id获取按钮的元素,click()是使按钮被点击一次。
演示
这是我为此问题专门写的在线演示页面点击按钮演示页面。
页面结构如图
Ⅵ C# mvc 的前端页面怎么才能实现点击按钮, 触发功能 我需要的是点击按钮 该按钮变色, 但是像我写的这样
这个想变颜色直接css就可以实现,用js也可以实现的,还没那么麻烦,简单明了。
Ⅶ js动态生成网页怎么实现
这个不一定是由js动态生成的,发帖或者创建账号后不都是需要提交的吗,提交后页面刷新,再出来的页面就是由后台提供的新页面了,这个不需要由前端js动态生成。
当然,如果提交后页面没有刷新,但又有新内容出现,这倒是有可能是js生成的,一般都是用js通过ajax提交数据,然后再把服务器返回的信息显示到页面上,这样做可以减轻服务器的压力,而且由于页面没有刷新(闪一下),用户体验也较佳。
还有一种可能,是预先把要显示的内容放在页面上,但是隐藏起来,当某种预期的事件发生时再显示出来。
Ⅷ js前端个人信息页面,如何在一个新的页面保存上一个页面的动态文本框信息并显示出来。
摘要 学习过js的伙伴会发现,我们在一些实例中用到了alert()方法、prompt()方法、prompt()方法,他们都是在屏幕上弹出一个对话框,并且在上面显示括号内的内容,使用这种方法使得页面的交互性更精彩,实际上我们经常会在进行网页浏览时简单这种类型的对话框,在用户与应用程序进行双向交流时,经常要用到对话框。
Ⅸ 前端进行页面跳转和页面刷新的方法
一、 在当前窗口进行跳转
1、 使用a标签进行跳转
2、 使用window.location.hre进行跳转
二、 打开新的窗口进行跳转
1、 使用a标签进行打开跳转
2、 使用window.open方法进行打开
三、 当页面有嵌套的iframe页面时的跳转
1、 最外层页面进行页面跳转
2、 当前页面的父页面进行跳转
四、 页面刷新的方法
1、 当前页面刷新
2、 当iframe页面嵌套时刷新当前页面的父页面
3、 当iframe页面嵌套时刷新最外层页面
Ⅹ Bootstrap 在前端能实现动态分页吗具体是怎么实现的
您好,很高兴为您解答。
通过使用 .disabled 来定义不可点击的链接,通过使用 .active 来指示当前的页面。
<ul class="pagination">
<li class="disabled"><a href="#">«</a></li>
<li class="active"><a href="#">1<span class="sr-only">(current)</span></a></li>
.......
</ul>
如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】
希望我的回答对您有所帮助,望采纳!