Javascript复选框函数:;缺少:在属性id之后"
Javascript Checkbox function: "missing : after property id"
我是javascript的新手,似乎不知道我缺少了什么。我在试验jquery中的ajax函数。我被这段代码卡住了。其想法是,当选中复选框时,它会执行一个php脚本,并将该脚本的状态输出到"status"div。
我花了最后一个小时查看我的代码,没有发现我遗漏了什么。当然,我的javascript技能很低可能也于事无补。
function playback(){
$.ajax({
url:"ChangePlayback.php",
type: "GET",
if((document).getElementById('LoopPlayback').checked)
{
data: "playback=1",
}
else
{
data: "playback=0",
}
success:function(result){
$("#Status").html(result);
}
});
}
我得到以下错误与firebug:
missing : after property id
[Break On This Error] if((document).getElementById('LoopPlayback').checked)
谢谢!
您需要进行一些refacor;if需要在赋值中,而不像SQL:中的CASE语句
...
'data': 'playback=' + (document.getElementById('LoopPlayback').checked ? '1' : '0'),
...
这是一个内联三元语句。或者,如果你想保留结构,你可以存储prefs,然后.extend()
它们:
var ajaxConfig = {
'url': 'CHangePlayback.php',
'type': 'GET',
'data': 'playback=0',
'success': function(result){
$('#status').html(result);
}
};
if (document.getElementById('LoopPlayback').checked){
ajaxConfig = $.extend(ajaxConfig,{ 'data': 'playback=1' });
}
$.ajax(ajaxConfig);
当然,更简单的方法是制作一个data
变量,并将其放置在之后的配置中
var data = 'playback=0';
if (document.getElementById('LoopPlayback')){
data = 'playback=1';
}
$.ajax({
...
'data': data,
...
});
您可以将其更改为这样,这样它就可以执行'if'内联:
function playback(){
$.ajax({
url:"ChangePlayback.php",
type: "GET",
data: "playback=" + (document.getElementById('LoopPlayback').checked ? "1" : "0"),
success:function(result){
$("#Status").html(result);
}
});
}
这应该有效:
function playback(){
$.ajax({
url:"ChangePlayback.php",
type: "GET",
data: $('LoopPlayback').val() ? "playback=1" : "playback=0",
success:function(result){
$("#Status").html(result);
}
});
}
这是对象,不能在字段之间写入代码:
{
url:...,
type:...,
data:...,
success:...
}
不能将if语句放在对象文字的中间。将其从ajax选项中移出文字:
function playback(){
var data;
if(document.getElementById('LoopPlayback').checked) {
data = "playback=1";
} else {
data = "playback=0";
}
$.ajax({
url:"ChangePlayback.php",
type: "GET",
data: data,
success:function(result){
$("#Status").html(result);
}
});
}
或使用jquery执行
if ($('#LoopPlayback').is(':checked'))
//your stuff
使用更多jQuery的强大功能:
$.ajax({
url:"ChangePlayback.php",
type: "GET",
data: "playback=" + ($("#LoopPlayback").is(":checked") ? "1" : "0"),
success:function(result){
$("#Status").html(result);
}
});
相关文章:
- Javascript复选框函数:;缺少:在属性id之后"
- 语法错误:缺少:在属性 ID 之后
- JSON到带有Django的JS:SyntaxError:缺少:在属性id之后
- Ajax - 在“成功”之后转到另一个页面,从那里的URL中检索用户ID
- 在为 jquery 自动完成设置源代码时获取“语法错误:缺少:在属性 ID 之后”
- ngResource 在 $save() 之后从 POST 响应中检索唯一 ID
- j查询错误 - 语法错误:缺少:在属性 ID 之后
- 缺少解析错误:在属性 ID 之后
- Dojo确认对话框'缺少:在属性id'之后;和'找不到节点'
- jQuery)SyntaxError:缺少:在属性id之后)
- 为什么我在循环之后只得到最后一个id道具
- 缺少:在属性id-javascript之后
- 语法错误:缺少:在属性 ID 之后
- 只需要获取ID的一部分最后一个下划线之后的所有内容
- 错误:缺少:属性id之后
- 如何检查一个元素在id的哈希符号之后是否有一个字符串?
- 错误:缺少:属性id之后
- 缺少:在属性id之后
- 使用 .replacewith 更改图像,但保留 id.之后,图像不再在悬停时触发功能
- Angular js -缺失:在属性id之后