最佳的解決辦法當(dāng)然是前后端結(jié)合,通過(guò)表單提交或ajax把數(shù)據(jù)發(fā)送到后臺(tái),儲(chǔ)存到數(shù)據(jù)庫(kù)中。點(diǎn)擊頁(yè)面的時(shí)候先提取后臺(tái)服務(wù)器的數(shù)據(jù),如果沒(méi)有就顯示初始化的數(shù)據(jù)。
創(chuàng)新互聯(lián)是一家專(zhuān)注于網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè)與策劃設(shè)計(jì),西山網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專(zhuān)注于網(wǎng)站建設(shè)十多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專(zhuān)業(yè)建站公司;建站業(yè)務(wù)涵蓋:西山等地區(qū)。西山做網(wǎng)站價(jià)格咨詢(xún):028-86922220
如果一定要儲(chǔ)存在本地電腦,那么如果數(shù)據(jù)量不大或者數(shù)據(jù)只需要臨時(shí)儲(chǔ)存(丟失也不要緊)可使用Cookies,數(shù)據(jù)量較大或者需要長(zhǎng)久保存則可選擇LocalStorage,具體做法請(qǐng)自行百度。這種方法是依賴(lài)于瀏覽器的,也就是說(shuō)你在某種瀏覽器中儲(chǔ)存的數(shù)據(jù),如果換另一種瀏覽器會(huì)無(wú)法讀取出來(lái)的(需要重新儲(chǔ)存)。
通過(guò)jquery的$.ajax()請(qǐng)求該xml資源,里面價(jià)格參數(shù)dataType:xml,如此,即可在本地js代碼上遍歷此xml文檔。
如果文件要存儲(chǔ)到本地,那你用不上jquery的,只能是使用下載文檔的方法。以java為例,后臺(tái)servlet或者struts等MVC框架的Controller打開(kāi)一個(gè)outputstream,然后將此xml輸出,這樣子你請(qǐng)求此資源的時(shí)候就會(huì)下載該xml到本地了。
這個(gè)方法網(wǎng)上可以查到很多,但是好多只有點(diǎn)擊文字編輯并保持,但是沒(méi)有完整的代碼寫(xiě)怎么保存到數(shù)據(jù)庫(kù)。因?yàn)楸救瞬攀鑼W(xué)淺,費(fèi)啦好長(zhǎng)時(shí)間才寫(xiě)好把修改的內(nèi)容只用一條sql語(yǔ)句保存到數(shù)據(jù)庫(kù),今天在這里和大家分享
這是運(yùn)行圖片
這是前臺(tái)頁(yè)面
03.aspx頁(yè)面
復(fù)制代碼
代碼如下:
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"
訂單名稱(chēng):
/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"
產(chǎn)品類(lèi)型:
/td
td
class="caname"
id="ID_Product1"
%#Eval("ID_Product")%
/td
td
width="40"
id="OrderState_Send"
狀態(tài):
/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
復(fù)制代碼
代碼如下:
$(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;
});
//獲取焦點(diǎn)
input.trigger("focus");
//文本框失去焦點(diǎn)后提交內(nèi)容,重新變?yōu)槲谋?/p>
input.blur(function
()
{
var
newtxt
=
$(this).val();
//判斷文本有沒(méi)有修改
if
(newtxt
!=
txt)
{
td.html(newtxt);
//不需要使用數(shù)據(jù)庫(kù)的這段可以不需要
//var
Order_Id
=
$("#ID_Order").text();
var
updateCol
=
$.trim(td.prev().attr("id"));//我重點(diǎn)要說(shuō)的是著一句:td.prev();表示本td的上一個(gè)td。這句代碼的意思是你所點(diǎn)擊的td的上一個(gè)td的id(如果不明白可以看前面的03.aspx頁(yè)面)。
//ajax異步更改數(shù)據(jù)庫(kù),加參數(shù)date是解決緩存問(wèn)題
url
=
"../test/03.ashx?caname="
+
newtxt
+
"updateCol="
+
updateCol
+
"date="
+
new
Date();
//使用get()方法打開(kāi)一個(gè)一般處理程序,data接受返回的參數(shù)(在一般處理程序中返回參數(shù)的方法
context.Response.Write("要返回的參數(shù)");)
//數(shù)據(jù)庫(kù)的修改就在一般處理程序中完成
$.get(url,
function
(data)
{
//
if
(data
==
"1")
{
//
alert("該類(lèi)別已存在!");
//
td.html(txt);
//
return;
//
}
//
alert(data);
alert("修改成功");
td.html(newtxt);
});
復(fù)制代碼
代碼如下:
pspan
style="font-size:14px;"這是一般處理程序頁(yè)面span
style="font-family:Times
New
Roman;"
03.ashx/span/span/pp
%@
WebHandler
Language="C#"
Class="_03"
%/p
復(fù)制代碼
代碼如下:
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"];//獲取用戶(hù)修改后的文字
string
updateCol
=
context.Request.QueryString["updateCol"];//獲取用戶(hù)修改的本td的上一個(gè)td的id的值(這個(gè)id與數(shù)據(jù)庫(kù)中的列名相同)
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通過(guò)這一條sql語(yǔ)句,就可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行修改
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 是創(chuàng)建移動(dòng) web 應(yīng)用程序的框架,兼容所有流行的手機(jī),平板電腦,電子閱讀器和桌面(瀏覽器)平臺(tái)。
所以說(shuō)jQuery Mobile 是一個(gè)基于jQuery的用戶(hù)界面框架,屬于服務(wù)端語(yǔ)言,是沒(méi)有權(quán)限操作客戶(hù)端的。
要想實(shí)現(xiàn)保存圖片到手機(jī),只能是用戶(hù)在瀏覽器中自己點(diǎn)擊保存,方可以保存到客戶(hù)自己的手機(jī)里面。
問(wèn)題1:一定程度上可以。
Jquery是JS的代碼,JS只是在你本地的瀏覽器上操作,而正常情況下的HTML頁(yè)面是保存在服務(wù)器上的(在你本地時(shí),你本地就是服務(wù)器),就是你每次的請(qǐng)求(刷新)都是從服務(wù)器上下載,jquery無(wú)法修改服務(wù)器上的代碼,所以無(wú)法保存。
通常是將數(shù)據(jù)保存在服務(wù)端,然后通過(guò)服務(wù)端的數(shù)據(jù)來(lái)動(dòng)態(tài)生成頁(yè)面,再返回給瀏覽。
如果你非要實(shí)現(xiàn)你的目標(biāo)也不是不可能,可以將你的數(shù)據(jù)保存到cookie里面,但是cookie不能保存大量數(shù)據(jù),只能保存4K的數(shù)據(jù)。
如果你使用HTML5可以使用WEBDB
問(wèn)題2:這個(gè)不是Jquery的可以解決的,Jquery本身沒(méi)有提供,可以直接使用JavaScript實(shí)現(xiàn),使用javascripr的charCodeAt()函數(shù)就可以的