如何通过命令从服务器端使用json触发jquery函数 [英] how to fire jquery function with json from server side by order
问题描述
string clientscrpt = 的javascript:loadclientdet();跨度>;
clientscrpt + = loadCi(' + dt.Rows [ 0 ] [ ciid]。ToString()+ ');;
clientscrpt + = loadTeam(' + assignedTeamId + ');;
clientscrpt + = loadEmpName('drpicassignedgroup','drpicassigneename',' + dt。行[ 0 ] [ assigned_empid ] .ToString()+ ');;
clientscrpt + = loadEmpdet('drpicassigneename','txticassigneemail','txticassigneedepartment','txticassigneemobile',' txticassigneedesignation');跨度>;
clientscrpt + = loadEmpName('drpiccoordinatorgroup','drpiccoordinatorname',' + dt。行[ 0 ] [ coordinator_empid ] .ToString()+ ');;
clientscrpt + = loadEmpdet('drpiccoordinatorname','txticcoordinatoremail','txticcoordinatordepartment','txticcoordinatormobile',' txticcoordinatordesignation');跨度>;
ClientScript.RegisterStartupScript( this .GetType(), CallMyFunction,clientscrpt, true );
我想按顺序触发函数。例如, loadci()
函数是加载项目的详细信息。< pre lang =c#> // ------- json调用函数------- ------------------- //
function loadCi(ciidselect){
试试 {
var catid = $( #drpiccategory跨度>)VAL();
var envid = $( #drpicenvironment 跨度>)VAL();
var rest = $(' #drpAffectedCI 跨度>);
$( #hiddenAffectedCiValue)。val(' ');
$ .ajax({
type: POST ,
url: incidentnewform.aspx / loadCIFiltered,
data:JSON .stringify({catid:catid,envid:envid}),
contentType: application / json; charset = utf-8,
dataType: json,
beforeSend:function(){
rest.append( < option> Loading ...< ; / option>);
},
成功:函数(数据){
rest.empty();
$ .each( data.d,function(index,item){
rest.append( < option value =' + item.split(' 〜 ')[ 0 ] + ' > + item.split(' 〜')[ 1 ] + < / option>);
});
if (ciidselect!= ){
$(' #drpAffectedCI')VAL(ciidselect)。
}
},
失败:函数(响应){
alert( 发生了一些错误......);
}
});
}
catch (e){
alert( 发生错误..);
}
}
当CI未完全加载时,将触发下一个函数loadTeam()。我想在loadci()调用onsuccess后加载loadtem(),即loadci()完成。当CI处于beforeSend测试时,函数loadTeam()被触发。
如何使用registerstartupscript进行操作?
由于某种原因,我无法逐个触发json onsucess本身的函数。
loadci()
{
// 一些json调用//
onsuccess: function(data)
{
loadteam();
}
}
我希望我能理解。( #drpiccategory)。val();
var envid =
( #drpicenvironment跨度>)VAL();
var rest =
(' #drpAffectedCI'跨度>);
string clientscrpt = "javascript:loadclientdet();";
clientscrpt+="loadCi('" + dt.Rows[0]["ciid"].ToString() + "');";
clientscrpt+="loadTeam('"+assignedTeamId +"');";
clientscrpt+="loadEmpName('drpicassignedgroup','drpicassigneename','"+dt.Rows[0]["assigned_empid"].ToString() +"');";
clientscrpt+="loadEmpdet('drpicassigneename','txticassigneemail','txticassigneedepartment','txticassigneemobile','txticassigneedesignation');";
clientscrpt+="loadEmpName('drpiccoordinatorgroup','drpiccoordinatorname','"+dt.Rows[0]["coordinator_empid"].ToString() +"');";
clientscrpt+="loadEmpdet('drpiccoordinatorname','txticcoordinatoremail','txticcoordinatordepartment','txticcoordinatormobile','txticcoordinatordesignation');";
ClientScript.RegisterStartupScript(this.GetType(), "CallMyFunction", clientscrpt, true);
I want to fire the functions orderly.For example,loadci()
function is to load details of items.
//-------json call function--------------------------//
function loadCi(ciidselect) {
try {
var catid = $("#drpiccategory").val();
var envid = $("#drpicenvironment").val();
var rest = $('#drpAffectedCI');
$("#hiddenAffectedCiValue").val('');
$.ajax({
type: "POST",
url: "incidentnewform.aspx/loadCIFiltered",
data: JSON.stringify({ catid: catid, envid: envid }),
contentType: "application/json; charset=utf-8",
dataType: "json",
beforeSend: function () {
rest.append("<option>Loading...</option>");
},
success: function (data) {
rest.empty();
$.each(data.d, function (index, item) {
rest.append("<option value='" + item.split('~')[0] + "'>" + item.split('~')[1] + "</option>");
});
if (ciidselect != "") {
$('#drpAffectedCI').val(ciidselect);
}
},
failure: function (response) {
alert("Some error occurred...");
}
});
}
catch (e) {
alert("Error occurred..");
}
}
When CI is not fully loaded the next function loadTeam() is fired. I want to load the loadtem() after loadci() onsuccess is called i.e. loadci() completed. when the CI is at beforeSend test the function loadTeam() gets fired.
How to do it with registerstartupscript?
I can not fire the functions in the json onsucess itself one by one due to some reason.
loadci()
{
//some json call//
onsuccess:function(data)
{
loadteam();
}
}
I hope I can make understand.
("#drpiccategory").val(); var envid =
("#drpicenvironment").val(); var rest =
('#drpAffectedCI');
这篇关于如何通过命令从服务器端使用json触发jquery函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!