关于更改ajax调用的复选框

时间:2014-09-26 17:30:17

标签: javascript php jquery ajax

我有一个复选框。我想当我选中复选框,所以我得到1,然后通过该获取值更新mysql查询。     我也想要如果我取消选中该复选框,那么我得到一个值0,然后我再次更新mysql查询。帮我。它应该用ajax调用完成。代码将使用PHP。

HTML代码

<input type="checkbox" name="action1" id="action1" title="Action 1" value="1" onclick="return Populat_Industry('set_home_vid.php');"/>

ajax call

<script>
function Populat_Industry(url){
    var value=$(#action1).val();
    $.ajax({
   type: "POST",
   url: url,
   async: true,
   data: "value="+value,
   success: function(msg){
      //alert('Success');
       if(msg !='success'){
        //alert('Fail');
       } 
   }
});
}

</script>

PHP代码

if($_POST['action1']=='1'){
$query= mysql_query("UPDATE homevideos SET is_active = '1
}
else{
mysql_query("UPDATE homevideos SET is_active = '0')
echo 'success';

4 个答案:

答案 0 :(得分:2)

Ajax调用是异步的。你不能以这种方式使用return。在jquery中写入复选框更改事件并发送ajax调用。

这样做:

HTML:

<input type="checkbox" name="action1" id="action1" title="Action 1" value="1"/>

JQUERY:

$("#action1").change(function () {
    var value = $(this).val();
    $.ajax({
        type: "POST",
        url: "set_home_vid.php",
        async: true,
        data: {
            action1: value // as you are getting in php $_POST['action1'] 
        },
        success: function (msg) {
            alert('Success');
            if (msg != 'success') {
                alert('Fail');
            }
        }
    });
});

答案 1 :(得分:0)

您忘记在通话中加上引号以获取输入值:

var value=$("#action1").val()

答案 2 :(得分:0)

也许你可以使用.is jquery方法

这样的事情:

$("#i").bind("change",function(){
    if($(this).is(":checked"))
        // set value for ajax
    else
       // set another value for ajax
    // ajax code here
});

$("#i").bind("change",function(){ if($(this).is(":checked")) // set value for ajax else // set another value for ajax // ajax code here });

答案 3 :(得分:0)

HTML:

<input type="checkbox" name="action1" id="action1" title="Action 1" value="1" url="set_home_vid.php" />

JQuery的:

<script>
     $("#action1").change(function(){
           var value = $(this).val();
           var url = $(this).attr("url"); 
           $.ajax({
               type: "POST",
               url: url,
               data: "value="+value,        //POST variable name value
               success: function(msg){
                    if(msg =='success'){
                        alert('Success');
                    } 
                    else{
                        alert('Fail');
                    }
               }
           }); 
     }); 
</script>

PHP:

     if($_POST['value']==1){  //as used variable name "value" in ajax post data
          $query= mysql_query("UPDATE homevideos SET is_active = 1"); //query was incomplete and missing ";"
          echo 'success';
     }
     else{
          mysql_query("UPDATE homevideos SET is_active = 0); // missing ";"
          echo 'success';
     }