最佳的解决办法当然是前后端结合,通过表单提交或ajax把数据发送到后台,储存到数据库中。点击页面的时候先提取后台服务器的数据,如果没有就显示初始化的数据。
创新互联是一家专注于网站设计制作、成都网站建设与策划设计,西山网站建设哪家好?创新互联做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:西山等地区。西山做网站价格咨询:028-86922220
如果一定要储存在本地电脑,那么如果数据量不大或者数据只需要临时储存(丢失也不要紧)可使用Cookies,数据量较大或者需要长久保存则可选择LocalStorage,具体做法请自行百度。这种方法是依赖于浏览器的,也就是说你在某种浏览器中储存的数据,如果换另一种浏览器会无法读取出来的(需要重新储存)。
通过jquery的$.ajax()请求该xml资源,里面价格参数dataType:xml,如此,即可在本地js代码上遍历此xml文档。
如果文件要存储到本地,那你用不上jquery的,只能是使用下载文档的方法。以java为例,后台servlet或者struts等MVC框架的Controller打开一个outputstream,然后将此xml输出,这样子你请求此资源的时候就会下载该xml到本地了。
这个方法网上可以查到很多,但是好多只有点击文字编辑并保持,但是没有完整的代码写怎么保存到数据库。因为本人才疏学浅,费啦好长时间才写好把修改的内容只用一条sql语句保存到数据库,今天在这里和大家分享
这是运行图片
这是前台页面
03.aspx页面
复制代码
代码如下:
table
id="MyTable"
cellspacing="1"
cellpadding="3"
asp:Repeater
ID="reorderInFo"
runat="server"
ItemTemplate
tr
style="text-align:
left;"
td
width="70"
height="40"
id="OrderName"
订单名称:
/td
td
colspan="5"
class="caname"
id="OrderName1"
%#Eval("OrderName")%
/td
/tr
tr
style="text-align:
left;"
td
width="70"
height="40"
id="ID_Product"
产品类型:
/td
td
class="caname"
id="ID_Product1"
%#Eval("ID_Product")%
/td
td
width="40"
id="OrderState_Send"
状态:
/td
td
class="caname"
id="OrderState_Send1"
%#Eval("OrderState_Send")%
/td
td
width="40"
id="OrderQty"
印量:
/td
td
class="caname"
id="OrderQty1"
%#Eval("OrderQty")%
/td
/tr
tr
td
width="70"
height="60"
id="SendAddress"
收货信息:
/td
td
colspan="5"
class="caname"
id="SendAddress1"
%#Eval("SendAddress")%
/td
/tr
tr
style="text-align:
left;"
td
width="70"
height="50"
id="OrderMoney_Total"
总金额:
/td
td
colspan="5"
class="caname"
id="OrderMoney_Total1"
%#Eval("OrderMoney_Total")%
/td
/tr
/ItemTemplate
/asp:Repeater
/table
这是js
03.js
复制代码
代码如下:
$(function
()
{
//获取class为caname的元素
$(".caname").click(function
()
{
var
td
=
$(this);
var
txt
=
$.trim(td.text());
var
input
=
$("input
type='text'value='"
+
txt
+
"'/");
td.html(input);
input.click(function
()
{
return
false;
});
//获取焦点
input.trigger("focus");
//文本框失去焦点后提交内容,重新变为文本
input.blur(function
()
{
var
newtxt
=
$(this).val();
//判断文本有没有修改
if
(newtxt
!=
txt)
{
td.html(newtxt);
//不需要使用数据库的这段可以不需要
//var
Order_Id
=
$("#ID_Order").text();
var
updateCol
=
$.trim(td.prev().attr("id"));//我重点要说的是着一句:td.prev();表示本td的上一个td。这句代码的意思是你所点击的td的上一个td的id(如果不明白可以看前面的03.aspx页面)。
//ajax异步更改数据库,加参数date是解决缓存问题
url
=
"../test/03.ashx?caname="
+
newtxt
+
"updateCol="
+
updateCol
+
"date="
+
new
Date();
//使用get()方法打开一个一般处理程序,data接受返回的参数(在一般处理程序中返回参数的方法
context.Response.Write("要返回的参数");)
//数据库的修改就在一般处理程序中完成
$.get(url,
function
(data)
{
//
if
(data
==
"1")
{
//
alert("该类别已存在!");
//
td.html(txt);
//
return;
//
}
//
alert(data);
alert("修改成功");
td.html(newtxt);
});
复制代码
代码如下:
pspan
style="font-size:14px;"这是一般处理程序页面span
style="font-family:Times
New
Roman;"
03.ashx/span/span/pp
%@
WebHandler
Language="C#"
Class="_03"
%/p
复制代码
代码如下:
pusing
System;
using
System.Web;
using
System.Data.SqlClient;/pppublic
class
_03
:
IHttpHandler
{
public
void
ProcessRequest
(HttpContext
context)
{
context.Response.ContentType
=
"text/plain";
int
OrderId
=
5;/pp
string
newOrderName
=
context.Request.QueryString["caname"];//获取用户修改后的文字
string
updateCol
=
context.Request.QueryString["updateCol"];//获取用户修改的本td的上一个td的id的值(这个id与数据库中的列名相同)
string
sql
=
"update
eoPrintOrder
set
"
+
updateCol
+
"
a
target="_blank"
href="mailto:=@name"=@name/a
where
a
target="_blank"
href="mailto:Id_order=@id';//"Id_order=@id";///a通过这一条sql语句,就可以对数据库进行修改
SqlParameter[]
pams
=
{
new
SqlParameter("@name",newOrderName),
new
SqlParameter("@id",OrderId)
};
string
data
=
DscySFL.DbHelp.ExecuteCommand(sql,pams
).ToString();
context.Response.Write(data);
}
public
bool
IsReusable
{
get
{
return
false;
}
}/pp}/p
jQuery Mobile 是创建移动 web 应用程序的框架,兼容所有流行的手机,平板电脑,电子阅读器和桌面(浏览器)平台。
所以说jQuery Mobile 是一个基于jQuery的用户界面框架,属于服务端语言,是没有权限操作客户端的。
要想实现保存图片到手机,只能是用户在浏览器中自己点击保存,方可以保存到客户自己的手机里面。
问题1:一定程度上可以。
Jquery是JS的代码,JS只是在你本地的浏览器上操作,而正常情况下的HTML页面是保存在服务器上的(在你本地时,你本地就是服务器),就是你每次的请求(刷新)都是从服务器上下载,jquery无法修改服务器上的代码,所以无法保存。
通常是将数据保存在服务端,然后通过服务端的数据来动态生成页面,再返回给浏览。
如果你非要实现你的目标也不是不可能,可以将你的数据保存到cookie里面,但是cookie不能保存大量数据,只能保存4K的数据。
如果你使用HTML5可以使用WEBDB
问题2:这个不是Jquery的可以解决的,Jquery本身没有提供,可以直接使用JavaScript实现,使用javascripr的charCodeAt()函数就可以的