JQuery$.post第二次点击不起作用
JQuery $.post Not working on the second click
感谢您查看:
我所做的是读取多个值,如name和class,以确定被点击的内容,然后将其作为参数发送到服务器上的PHP,这样我就可以切换其class和name值。
这样做效果很好,第一次点击时会切换类,但第二次点击元素时,它就不起作用了。查看chrome的控制台,我可以看到POST结果是成功的,但$.POST回调函数不再运行。
$('a').click(function() {
if($(this).attr("name")=="Config"){
return;
}
else if ($(this).attr("name")=="Return"){
return;
}
else if ($(this).attr("name")=="Temperatura"){
return;
}
else{
var parameters = {};
parameters.devicename = $(this).attr("name").split('_')[0];
parameters.devicevalue = $(this).attr("name").split('_')[1];
parameters.devicestate = parseInt($(this).html());
alert (parameters.devicestate);
var selector;
if ($(this).hasClass("Luz_On") || $(this).hasClass("Luz_Off")){
selector = "Luz";
$(this).attr('id','ajaxelement');
alert("entro");
alert($(this).attr('name'));
alert(selector);
alert($(this).attr('id'))
}
else if ($(this).hasClass("Cortina_Up") || $(this).hasClass("Cortina_Down")){
selector = "Cortina";
$(this).attr('id','ajaxelement');
}
else if ($(this).hasClass("Temperatura")){
selector = "Temperatura";
$(this).attr('id','ajaxelement');
}
else if ($(this).hasClass("Rewind")){
selector = "Rewind";
$(this).attr('id','ajaxelement');
}
else if ($(this).hasClass("Play")){
selector = "Play";
$(this).attr('id','ajaxelement');
}
else if ($(this).hasClass("Pause")){
selector = "Pause";
$(this).attr('id','ajaxelement');
}
else if ($(this).hasClass("Forward")){
selector = "Forward";
$(this).attr('id','ajaxelement');
}
$.post(
"http://localhost/AplicacionWeb/test.php",
parameters,
function(data){
if (data.valid=='true')
{
switch(selector)
{
case "Luz":
alert("case");
if ($('#ajaxelement').attr('name') == "Luz_On"){
alert("caseif1");
$('#ajaxelement').removeClass("Luz_On").addClass("Luz_Off");
$('#ajaxelement').attr('name','Luz_Off');
$('#ajaxelement').removeAttr('id');
}
if ($('#ajaxelement').attr('name') == "Luz_Off"){
alert("caseif2");
$('#ajaxelement').removeClass("Luz_Off").addClass("Luz_On");
$('#ajaxelement').attr('name','Luz_On');
$('#ajaxelement').removeAttr('id');
}
break;
case "Cortina":
break;
case "Temperatura":
break;
case "Rewind":
break;
case "Play":
break;
case "Pause":
break;
case "Forward":
break;
default:
alert("C'est la vie");
}
}//data.valid
},
"json"
);
}
}); // end click
您将post请求配置为期望服务器http://localhost/AplicacionWeb/test.php
返回有效的JSON。如果已验证请求成功返回,请检查数据是否符合指定的dataType
。如果响应数据无效,jQueryajax请求将不会运行success/done回调。
相关文章:
- 更改第二次推送时不起作用的元素高度
- java脚本中的谷歌地图在第二次点击时不起作用
- Jquery移动转换复选框在Jquery onclick函数()中第二次选中不起作用
- 为什么第二次调用isNaN时它不起作用
- Jquery Onclick 事件函数第二次不起作用
- Jquery onblur 第二次不起作用
- JQuery$.post第二次点击不起作用
- 对已定义函数的第二次调用;不起作用
- ajax加载图像第二次在弹出jquery上不起作用
- 下拉列表的onChange()第二次不起作用
- jBox模态对话框Created监听器函数从第二次开始就不起作用了
- 函数在第二次出现时不起作用
- j查询克隆表单在同一页面中不起作用两次
- 在第二次加载时更改 iframe 样式,在 Internet Explorer 9 中不起作用
- ng-单击在表格内第二次单击时不起作用
- 引导轮播不起作用(一次显示所有图像)
- jQuery Ajax 在第二次出现时不起作用
- Jquery 滑块不起作用多次调用
- 将参数附加到URL地址在多个函数中不起作用(第二个函数不变)
- window.open两次不起作用(第二个窗口没有出现)-Blocker解决方法