复选框onChange赢了

时间:2016-09-24 19:56:28

标签: javascript

我使用.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'}
    });
});

2 个答案:

答案 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;
&#13;
&#13;

答案 1 :(得分:0)

$(this).val()应为$(this).prop('checked'),并且会返回truefalse