我使用.js文件包含以下脚本,但它不会被激活。我对JQuery很新,不知道我哪里出错了。
请帮助。
我现在通过以下更改将脚本更改为以下内容: 使用了Theophilus的示例代码来修改我的,它现在正确地激发了感谢 Julian $(this).attr(':checked')对我不起作用,因为它返回"未签名。"但是使用.prop确实$(this).prop(' checked')按预期工作(true / false)谢谢 Rashet,出于测试目的,我将url更改为' /my.script.php'它包含一个简单的测试脚本,仍然无法正常工作。
if(isset($_POST['id']) || isset($_POST['Purchased'])){
die('Eureka! variables exist');
}else{
die('Failure!, variables do not exist');
}
$('input[name=Purchased]').change(function(){
//if a checkbox with name 'Purchased' is clicked, do the following.
var id=$(this).attr('id'); //grab the id from the clicked box
var Purchased=$(this).prop('checked');
//alert("ID value:"+id); returns correctly
// alert("Purchase value:"+Purchased); //Returns correctly
//setup the ajax call
//Not posting the variable values to PHP processing script
$.ajax({
type: 'POST',
url: '/my.script.php',
data: {id: 'id',
Purchased: 'Purchased'}
});
});
答案 0 :(得分:1)
这应该.is(selector)
来自https://stackoverflow.com/a/12279447/5836034帖子的帮助,您可以在此处阅读Jquery doc on is()
在下面运行代码段以查看其实际操作
$('input[name=Purchased]').change(function(){
if (!$(this).is(":checked")) {
// not checked
alert("Not Checked");
return;
}
alert("Checked continue");
//check here
//if a checkbox with name 'Purchased' is clicked, do the following.
var id=$(this).attr('id'); //grab the id from the clicked box
var Purchased=$(this).val(); //grab the value from the checkbox (remember, if it is checked it will be 'on', else ''
alert("Purchase value:"+Purchased);
//setup the ajax call
$.ajax({
type: 'POST',
url: '../../Includes/MyPHP.script.php',
data: {id: 'id',
Purchased: 'Purchased'}
});
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" value="value here" name="Purchased" >
&#13;
答案 1 :(得分:0)
$(this).val()
应为$(this).prop('checked')
,并且会返回true
或false
。