数据库中的默认单选按钮值

时间:2017-04-17 02:29:42

标签: javascript php jquery html mysql

我有以下代码,可以很好地存储单选按钮的值并写入数据库(HTML - > Javascript - > PHP)。

现在我有一个更新模式,想要填充前一条记录的单选按钮值。我不确定我做错了什么,但是当用户点击更新时,我无法获得单选按钮的默认值。

HTML

    <div class="form-group">
            <label for="update_flag">Update Flag:</label>
            <br>
            <label class="radio-inline"><input type="radio" name="update_flag" value="Yes">Yes</label>
            <label class="radio-inline"><input type="radio" name="update_flag" value="Maybe">Maybe</label>
            <label class="radio-inline"><input type="radio" name="update_flag" value="No">No</label>
        </div>

Javascript:JSON.Parse返回YES / NO / MAYBE,我检查它是否正确返回。

    function GetUserDetails(id) {

$("#hidden_user_id").val(id);
$.post("ajax/readUserDetails.php", {
       id: id
    },
    function (data, status) {
        // PARSE json data            
        var va = JSON.parse(data);  
        $("output[name=update_flag]:checked").val(va.flag);
     }
);
// Open modal popup
$("#update_user_modal").modal("show");}

PHP:

 <?php
    // include Database connection file
    include("db_connection.php");

    // check request
    if(isset($_POST['id']) && isset($_POST['id']) != "")
    {
    // get  ID
    $id = $_POST['id'];

    // Get  Details
    $query = "SELECT flag,
    FROM list WHERE id = '$id'";
    if (!$result = mysql_query($query)) {
        exit(mysql_error());
    }
    $response = array();
    if(mysql_num_rows($result) > 0) {
        while ($row = mysql_fetch_assoc($result)) {
            $response = $row;
        }
    }
    else
    {
        $response['status'] = 200;
        $response['message'] = "Data not found!";
    }
    // display JSON data
    echo json_encode($response);


     }

       else
     {
         $response['status'] = 200;
         $response['message'] = "Invalid Request!";
     }

1 个答案:

答案 0 :(得分:0)

我认为$("output[name=update_flag]:checked").val(va.flag);是出错的地方。你应该尝试这样的事情:

$("input[name=update_flag][value=" + radioBtnValueToCheck + "]").prop('checked', true);