如何从ajax填充复选框

时间:2017-09-20 09:01:31

标签: javascript php jquery ajax

我有包含复选框的表单,我想通过ajax从数据库填充他们的数据,我想将可用的产品作为数据库中的值进行检查,如果数据库中的数据是而不是" Cacao ,椰子,香蕉"我必须把它放在别人的文本框中复选框"例如:Apple"我为文本框做了这个,但我不能选中复选框,怎么办呢?

Html代码

<div class="row">
<div class="col-sm-4">
    <label class="Modallabel">Available Products:</label>
</div>
<div class="col-sm-8">
    <label id="Pro_chkbox" class="checkbox-inline"><input name="check_list[]" type="checkbox" value="Cacao">Cacao</label>
    <label id="Pro_chkbox" class="checkbox-inline"><input name="check_list[]" type="checkbox" value="Coconuts">Coconuts</label>
    <label id="Pro_chkbox" class="checkbox-inline"><input name="check_list[]" type="checkbox" value="Bananas">Bananas</label><br>
    <label id="Pro_chkbox" class="checkbox-inline"><input name="check_list[]" type="checkbox" id="optcheck" value="Others">Others</label>
     <input type="text" id="Other_pro" name="otherproduct" disabled><br>
    <label id="Note">(Separate Products with commas)</label>
</div>

的Ajax

$.ajax({
    type:"POST",
    url:"EditFarmerData.php",
    dataType: 'json',
    data:{'EditFarmerID': EditFarmerID},
    success: function (data) 
        {
            $("#EditFarmerFName").val(data.FarmerFirstName) ;

        }
})

PHP代码

$EditFarmerID = $_POST['EditFarmerID'];

    $sql="SELECT * FROM Farmers where Farmer_ID='".$EditFarmerID."'";

    foreach ($conn->query($sql) as $row)
        {
            $FarmerFirstName=$row['first_name_'];
            $FarmerAvailableProducts = $row['Available_Products'];
        }
    $json = array(
        "FarmerFirstName" => $FarmerFirstName,
        "FarmerAvailableProducts " => $FarmerAvailableProducts 
        $categories = '';
            $cats = explode(",", $FarmerAvailableProducts);
            foreach($cats as $cat) {
                $cat = trim($cat);
                $categories .= "<category>" . $cat . "</category>\n";
            }
    );
    echo json_encode($json);

2 个答案:

答案 0 :(得分:2)

您可以使用属性等于选择器[name="value"]来获取具有特定值的复选框。

 $("input[type=checkbox][value=Bananas]").prop("checked",true);

在你的情况下,你必须检查响应,你可以使用循环并使用变量更改value = bananas

答案 1 :(得分:0)

使用以下代码:

success: function (data) 
{
    ...
    ....
    $('input[value="'+data.FarmerFirstName+'"]').prop('checked', 'checked');
    ....
    ....
}

希望这会有所帮助