2015-10-14 33 views
2

我試圖使用jquery將選中的屬性添加到特定的複選框,但它似乎無法正常工作。給默認選中的值複選框使用jquery

複選框功能顯示

function product_category_loop_array ($product_category_array = array(), $parent_id = 0, $margin = -20) { 
      if (!empty ($product_category_array[$parent_id])) { 
       $margin = $margin + 20; 
       foreach ($product_category_array[$parent_id] as $items) { 
        echo "<input style='margin: 0 0 0 ".$margin."px; overflow: hidden;' id='".$items['id']."' class='category_checkbox left' name='product_category[]' type='checkbox' value='".$items['id']."'><label class='category_checkbox_label left'>".$items['name']."</label> 
        <div class='clear'></div>"; 
        product_category_loop_array ($product_category_array, $items["id"], $margin); 
       } 
      } 
     } 
     function product_category() { 
      $db_connect = mysqli_connect (db_host, db_username, db_password, db_name); 
      $product_category_query = $db_connect->query ("SELECT id, name, parent_id FROM `product_category` ORDER BY name ASC"); 
      $product_category_array = array(); 
      if (mysqli_num_rows ($product_category_query)) { 
       while ($row = mysqli_fetch_array ($product_category_query, MYSQLI_ASSOC)) { 
        $product_category_array[$row['parent_id']][] = $row; 
       } 
       product_category_loop_array ($product_category_array); 
      } 
     } 

HTML

<div id="tabs-2" class="product_detail hide"> 
          <div class="left"> 
           <form class="product_detail_form" method="post" action=""> 
            <?php product_category() ?> 
            <p class="detail_submit"><input name="save_product_category" type="submit" value="Save"></p> 
           </form> 
          </div> 
         </div> 

Jquery的

<script> 
    $ (document) .ready (function() { 
     <?php echo $hide_div ?>; 
     var selected_array = <?php echo json_encode ($product_category_selected) ?>; 
     $.each (selected_array (key, value) { 
      $ ("#"+value).prop("checked", true); 
     }); 
    }); 
</script> 

任何幫助將不勝感激。

+0

你VE內selected_array一個JSON .... $。每次想的陣列 – Vanojx1

+0

你的PHP似乎不正確。在foreach循環中使用相同的函數調用,可以在發佈的問題中發佈該html的結果是什麼? – Jai

+0

爲什麼不添加'checked'屬性到html本身而不是使用js? – Arvind

回答

0

使用

$ ("#"+value).attr("checked", "checked"); 
0
<script> 
    $(document).ready(function() { 
     <?php echo $hide_div ?>; 
     // DECODE JSON IN JS 
     var selected_array = $.parseJSON(<?php echo json_encode ($product_category_selected) ?>); 
     $.each(selected_array(key, value) { 
      $("#" + value).prop("checked", true); 
     }); 
    }); 
</script>