最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - checkbox on change ajax call - Stack Overflow

programmeradmin2浏览0评论

I have one checkbox. I want when I checked the checkbox so I get the 1 and then update a mysql query through that get value. I also want if I unchecked the checkbox so I get a value 0 so then I again update the mysql query. Help me. it should be done with ajax call. code will be in PHP.

HTML code

<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 code

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

I have one checkbox. I want when I checked the checkbox so I get the 1 and then update a mysql query through that get value. I also want if I unchecked the checkbox so I get a value 0 so then I again update the mysql query. Help me. it should be done with ajax call. code will be in PHP.

HTML code

<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 code

if($_POST['action1']=='1'){
$query= mysql_query("UPDATE homevideos SET is_active = '1
}
else{
mysql_query("UPDATE homevideos SET is_active = '0')
echo 'success';
Share Improve this question edited Sep 26, 2014 at 18:03 matsjoyce 5,8446 gold badges34 silver badges38 bronze badges asked Sep 26, 2014 at 17:30 Muhammad AtiqMuhammad Atiq 631 gold badge1 silver badge9 bronze badges 1
  • you want to know checked state, value won't change – charlietfl Commented Sep 26, 2014 at 17:35
Add a ment  | 

4 Answers 4

Reset to default 4

Ajax call is async. you cannot use return with it this way. Write checkbox change event in jquery and send ajax call.

Do like this:

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');
            }
        }
    });
});

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 inplete and missing ";"
          echo 'success';
     }
     else{
          mysql_query("UPDATE homevideos SET is_active = 0); // missing ";"
          echo 'success';
     }

Maybe you could use the .is jquery method

something like this:

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

You forgot to put quotes around your call to get the input value:

var value=$("#action1").val()
发布评论

评论列表(0)

  1. 暂无评论