JQuery에서 질문이 있습니다. 난 $.ajax()
내 코드 (Function 1)
$_POST['name']
및 $_POST['sequenceno']
에 의해 해당 데이터를 가져오고 sequence no 주어진 주어진 .. 필드 이름을 업데이트하는 ctrller 수 fieldname 및 시퀀스 번호를 보내려면 사용 삽입 된 필드가있는 미리보기 디스플레이 패널을 생성합니다. 이제 필드 이름을 다시 변경하려고합니다. 생성 된 디스플레이 패널 필드를 클릭하면 해당 설정이 열리고 이름을 변경하려고 시도합니다. 지금 필드 (Function 2)
동일한 아약스가 두 번 호출됩니다 .JQuery
Function1
과 Function2
모두 동일합니다. Function1
에서 필드 이름과 시퀀스를 보내지 않습니다.
Funciton 2에서 동일한 필드 이름을 보내려하지만 (다른 값) sequenceno ..
하지만 Function1 (sequenceno는 카운터 값입니다.) Function2 (sequenceno는 클릭 된 div id (패널 표시) 임)에 비해
동일한 func을 어떻게 사용할 수 있습니까? 둘 다 .. 아니면 내가 sep를 사용할 수 있을까? arz funcs ..
다른 URL을 가진 2 개의 개별 기능을 시도했지만 올바르게 업데이트되지 않았습니다.
내 코드는
입니다. //This is what i insert the field initially
$(".TextFieldSettings #fieldTitle").change(function(){
fieldname=$(".TextFieldSettings #fieldTitle").val();
$.ajax({
type: "POST",
url: "./server",
data: "name="+fieldname+"&sequenceno="+counter,
success: function(msg){
}//success
});//ajax
});//change
//After inserting to get the updated values in JSON format
var htm = $.ajax({
type: "GET",
url: "./viewforms",
async: false
}).responseText;
var myObject = eval('(' + htm + ')');
gettype=myObject.attributes[0]["type"];
getlabel=myObject.attributes[0]["labels"];
//showing in my DisplayPanel view
$("#labelstr"+counter+"").html(getlabel);
});//change
이제 DisplayPanel보기를 클릭하면
$("#displayPanel div").live("click", function(){
div_id=$(this).attr("id");
var htm = $.ajax({
type: "GET",
url: "./getattributes/"+div_id+"",
async: false
}).responseText;
var myObject = eval('(' + htm + ')');
gettype=myObject.attributes[0]["type"];
getlabel=myObject.attributes[0]["labels"];
getsize=myObject.attributes[0]["size"];
if(gettype=='Text')
{
$(".TextFieldSettings").show(function(){
$(".TextFieldSettings #fieldTitle").val(getlabel);//showing the updated value
if(getsize=='100')
{
$("#fieldSize option:contains(Small)").attr("selected",true);
}
else if(getsize=='200')
{
$("#fieldSize option:contains(Medium)").attr("selected",true);
}
else
{
$("#fieldSize option:contains(Large)").attr("selected",true);
}
//Again i m changing the fieldname
$(".TextFieldSettings #fieldTitle").change(function(){
fieldname=$(".TextFieldSettings #fieldTitle").val();
alert(div_id);
$.ajax({
type: "POST",
url: "./editsettings",
data: "name="+fieldname+"&sequenceno="+div_id,
success: function(msg){
}//success
});//ajax
});//change in text value later*/
});//show
}//if type = TEXT
});//displaypanel Div clicked
하지만 지금은 fieldname을 다시 변경하려고하면 다른 POST 함수 editsettings
을 작성하고 있지만 실행은 Func2
(필드 이름을 다시 변경) 대신 Func1
(처음에는 변경) 내부에서 발생합니다 ... 누구나 답을 얻으십시오 이 .... 참고 : $(".TextFieldSettings #fieldTitle").change()
내 PRG .. 두 번 사용됩니다. 때문에이 updation 잘못된 것일 수 있습니다.
실제로 어떤 부분이 여기에 질문입니까? 당신은 단지 하나의 재사용 가능한 기능과 두 가지 다른 기능을 가질 수 있는지 알고 싶습니까? – Fenton
두 개의 다른 function() 그러나 두 이름은 모두 $ (". TextFieldSettings #fieldTitle")과 같습니다. change (function() {}); 동일한 목적이지만 다른 목적 – useranon