我在 JQuery 中有一个问题..我正在使用$.ajax()
在我的代码中(Function 1)
将字段名和序列号发送到 ctrller,后者通过以下方式获取数据$_POST['name']
and $_POST['sequenceno']
并使用未给定的序列更新表中的字段名称。并生成带有插入字段的预览显示面板。
现在我正在尝试再次更改字段名称,现在当我单击生成的显示面板字段时,相应的设置将打开,我现在将尝试更改字段的名称(Function 2)
Both Function1
and Function2
是相同的..在Function1
我正在发送字段名称和序列号
在函数 2 中,我想发送相同的字段名和(但另一个值)序列。
但在Function1中(sequenceno是计数器值)
而在Function2中(sequenceno是单击的div id(显示面板))
我怎样才能对两者使用相同的功能..或者我是否需要使用单独的功能..
即使我尝试使用 2 个具有不同 url 的独立函数,但未正确更新
我的代码是
//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
但现在如果我尝试再次更改字段名,我将编写另一个 POST 函数editsettings
但执行是在里面Func1
(最初改变)而不是Func2
(再次更改字段名称)...
请任何人知道这个问题的答案......
笔记:$(".TextFieldSettings #fieldTitle").change()
在我的 prg 中使用了两次..可能是因为这个更新出错了