JQuery總結部分

來源:互聯網
上載者:User

標籤:c   class   java   a   get   strong   

1、在<script>中,如果是需要頁面開啟就要載入的部分,需要先寫

$(function(){
});

然後把需要變成EasyUI的input或div等的ID寫入其中,否則他們不能變成你想要的外掛程式。當然,其他的函數,如onclick(),就要寫到其外了。

2、$.get()
$.get()是簡化的$.ajax()。用法如

$(“button”).click(function(){
$.get(“demo_ajax_load.txt”, function(result){
$(“div”).html(result);
});
});


這裡有2個知識點:
a、如果要得到伺服器返回的值,就必須用後面加函數的方法。原因是:它是非同步呼叫,JS會在它沒有得到遠程伺服器的值之前,就往下執行了,會導致下面的值並不是你想要的。比如:

var str=””;
$.get(“index/serTime”,function(data){str=data;});
alert(str);

你會發現最後的str並不是從伺服器中取回來的結果。因為在伺服器還未得到值之前,就已經alert了。但是如果你第二次執行這個語句的話,就會得到上次從伺服器返回的內容。
解決這個問題可以以如下方式改寫:

$.get(“index/serTime”,function(data){alert(data);});

或者,也可以使用下面的辦法。
b、用$.ajax代替簡化版的$.get
$.get 相當於:

$.ajax({
url: url,
data: data,
success: success,
dataType: dataType
});

$.get傳輸參數的用法:

$.get(“test.php”, { name: “John”, time: “2pm” } );

$.ajax的用法:

$(“#ButAjax”).click(function() {
$.ajax({
type: “POST”, //預設是GET
url: “/Test/getPerson”,
data: “ID=1&FirstName=C&LastName=HY”,
async: true, //非同步
cache: false, //不載入緩衝
success: function(obj) {
alert(obj.ID + obj.FirstName + obj.LastName + obj.Man);
},
error: function() {
alert(“請求失敗”);
}
});
});

可見,$.get和$.ajax,預設都是非同步呼叫的。所以如果想讓JS語句在本句執行完之後,再執行下一條語句,可以把async設為false,即不要非同步呼叫。所以,同樣的:

var str=””;
$.ajax({url:”index/serTime”,async:false,success:function(data){str=data;});
alert(str);

這樣,其結果就是你想要的了。就是說,如果以後在頁面處於開啟的狀態下,再點擊按鈕,想要給什麼控制項賦值的話,就要把async改為false。

3、javascript:void(0)與javascript:;的意思
在<a>標籤中,廢除原來的連結,而使用JS函數的方法有3種。
a、<a href=”#” onclick=”myclick()”>連結</a>,這種方式一般不建議使用,因為會在地址欄出現#或導致其他影響使用者體驗的問題。
b、<a href=”javascript:void(0)” id=”a1″>連結</a>,這種方式在js指令碼中設定其點擊事件即可

$(function(){
$(“#a1″).click(function(){alert(“連結a1″);});
});

c、<a href=”javascript:;” id=”a2″>連結</a>,這種方式類似於上一種,同樣在js指令碼中設定其點擊事件即可,但目前來講用這個的比較多,據說是第二種雖然沒有傳回值但還是執行了,這樣寫的話就不執行任何代碼。

$(function(){
$(“#a2″).click(function(){alert(“連結a2″);});
});

easyUI總結部分
1、寫法
easyUI可以有2種寫法。一種是直接寫標籤,方法是在標籤中加入: class=”easyui-類型”,如class=”easyui-tabs”。另外一種寫法是現用標籤寫個簡單的input 或 div,然後在JS檔案中寫代碼,如:

$(“p”).panel()

2、easyUI 的屬性、方法、事件、建構函式
a、在JS寫UI的建構函式時,好像只能寫JS的屬性或事件,如:

$(‘#tt’).tabs({
border:false,
onSelect:function(title){alert(title+’is selected’);}
});

b、屬性的取值、賦值 寫法

$(‘p’).panel().title

以上這個寫法只是取值的寫法。如果需要賦值,還是需要再寫一遍建構函式

$(‘p’).panel({title:”這是改變後標題”});

通過這樣的方式,就可以只更改一個屬性,其他屬性不變。
c、方法的寫法
無參數方法的寫法:

$(‘tt’).tabs(‘getSelected’);

有參數方法的寫法:

$(‘p’).panel(‘move’,{left:100,top:100} );

3、Tabs外掛程式
Tabs就是多個panel的組合。在實際中,添加tab的方法如下:

function addTab(tit){
if(!$(‘#tt’).tabs(‘exists’,tit)){ //看這個title是否存在
$(‘#tt’).tabs(‘add’,{title:tit, content:’Tab Body’ });
}}

4、DataGrid 編輯
a、分頁語句

select * from(
select rownum r, field1,field2 from table_name where rownum > = page* rows )where r < (page-1) * rows

b、雙擊行,進行操作
在建構函式中寫:

onDblClickRow: function() {
var selected = $(‘#test’).datagrid(‘getSelected’);
if (selected){
window.open(“DataView.action?Id=”+selected.ID);
}}

c、刪除

function DelAff(){
$.messager.confirm(‘確認’,’是否真的刪除?’,function(r){
if (r){
var selected = $(‘#test’).datagrid(‘getSelected’);
if (selected){
var index = $(‘#test’).datagrid(‘getRowIndex’, selected);
$(‘#test’).datagrid(‘deleteRow’, index);
DeleteSubmit(selected);
}
}
});
}
function DeleteSubmit(selected)
{
var url=”DataDelete.action?Id=”+selected.ID;
$.post(
url
);
}

這樣頁面的刪除和資料庫中的刪除都實現了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.