2016-05-13 21 views
2

我有一些問題,在Ajax調用,以顯示我的附加複選框,這是我的JSON結果如何顯示附加複選框,並自動AJAX調用後檢查

[{"nama":"Food","idkategori":"1","dicek":"iya"},{"nama":"Fashion","idkategori":"2","dicek":"iya"},{"nama":"Beverages","idkategori":"3","dicek":"iya"},{"nama":"Art","idkategori":"4","dicek":"tidak"},{"nama":"Music","idkategori":"5","dicek":"tidak"},{"nama":"Technology","idkategori":"6","dicek":"tidak"},{"nama":"Smartphone","idkategori":"7","dicek":"tidak"},{"nama":"Computer","idkategori":"8","dicek":"tidak"},{"nama":"Games","idkategori":"9","dicek":"tidak"},{"nama":"Movies","idkategori":"10","dicek":"tidak"},{"nama":"Sports","idkategori":"11","dicek":"tidak"},{"nama":"Books","idkategori":"12","dicek":"tidak"}] 

有我的查詢中的檢查,如果複選框已被檢查。值複選框保存到數據庫,我想顯示我的所有複選框選中或未選中。 這是我的Ajax代碼

$.ajax({ 
      url: host+'/skripsi3/phpmobile/appendfilter.php', 
      data: { "id": user}, 
      dataType: 'json', 
      success: function(data, status){ 
       $.each(data, function(i,item){ 
        //alert("here"); 
        $("#appendfilter").append('<input class="kategoriFilter" type="checkbox" value="'+item.nama+'" name="cektambah" id="'+item.idkategori+'"><label for="'+item.idkategori+'">'+item.nama+'</label>').trigger("create"); 
        if(item.dicek=="iya") 
        { 
         $("#"+item.idkategori).prop('checked', true); 
        } 
        else if(item.dicek=="tidak") 
        { 
         $("#"+item.idkategori).prop('checked', false); 
        } 

       }); 
      }, 
      error: function(e){ 
       //alert(e); 
      } 
     }); 

,這是我appendfilter.php

<?php 
session_start(); 
include "config.php"; 
$user=mysql_real_escape_string($_GET["id"]); 
$result=mysql_query("SELECT * from filtering WHERE id_tenant='$user'") or die(mysql_error()); 

if (!empty($result)) 
{ 
    while ($row=mysql_fetch_array($result)) 
    { 
     $tempfilter[] = $row['filter']; 
     $q="select 'iya' as dicek,kategori.id_kategori,kategori.nama from kategori WHERE id_kategori IN (".implode(',',$tempfilter).") UNION ALL select 'tidak' as dicek,kategori.id_kategori,kategori.nama from kategori where id_kategori NOT IN (".implode(',',$tempfilter).") "; 

     //echo $q; 
     $result2 = mysql_query($q) or die(mysql_error()); 
     if (!empty($result2)) 
     { 
      while ($row2=mysql_fetch_array($result2)) 
      { 
       $fetchkategori[] = array 
       (
        'nama' => $row2['nama'], 
        'idkategori' => $row2['id_kategori'], 
        'dicek' => $row2["dicek"] 
       ); 
      } 
     } 

    } 
} 

mysql_close($con); 

header('Content-Type:application/json'); 
echo json_encode($fetchkategori); 
?> 

希望有人能幫助我解決我的問題。

+0

在上述JSON對象,你應該得到或它是什麼您已經在Ajax調用後得到的結果? –

+0

嗨@Amani謝謝您的快速響應,我已經知道了,但我不知道如何以正確的方式顯示覆選框,您可以在我的結果中看到我有「dicek」,如果「dicek = iya」複選框會自動檢查,如果「dicek = tidak」複選框沒有被選中。 – Rei

+0

我檢查了你的代碼,你只是在你的json對象有一個小錯誤你有iya而不是你... –

回答

2

嘗試檢查您的html是否準備就緒。假設你正確地得到您的JSON對象:

$(document).ready(function(){ 
 

 
var data =[ 
 
{"nama":"Food","idkategori":"1","dicek":"iya"}, 
 
{"nama":"Fashion","idkategori":"2","dicek":"iya"}, 
 
{"nama":"Beverages","idkategori":"3","dicek":"iya"}, 
 
{"nama":"Art","idkategori":"4","dicek":"tidak"}, 
 
{"nama":"Music","idkategori":"5","dicek":"tidak"}, 
 
{"nama":"Technology","idkategori":"6","dicek":"tidak"}, 
 
{"nama":"Smartphone","idkategori":"7","dicek":"tidak"}, 
 
{"nama":"Computer","idkategori":"8","dicek":"tidak"}, 
 
{"nama":"Games","idkategori":"9","dicek":"tidak"}, 
 
{"nama":"Movies","idkategori":"10","dicek":"tidak"}, 
 
{"nama":"Sports","idkategori":"11","dicek":"tidak"}, 
 
{"nama":"Books","idkategori":"12","dicek":"tidak"}]; 
 

 

 
    $.each(data, function(i,item){ 
 
        $("#appendfilter").append('<input class="kategoriFilter" type="checkbox" value="'+item.nama+'" name="cektambah" id="'+item.idkategori+'"><label for="'+item.idkategori+'">'+item.nama+'</label>').trigger("create"); 
 
        if(item.dicek=="iya") 
 
        { 
 
         $("#"+item.idkategori).prop('checked', true); 
 
        } 
 
        else if(item.dicek=="tidak") 
 
        { 
 
         $("#"+item.idkategori).prop('checked', false); 
 
        } 
 

 
       }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
 
<div id="appendfilter"></div>

+0

非常感謝你!!,它像一個魅力:) – Rei

+0

歡迎你:) –