【问题标题】:Select2 Ajax Selected Data ValueSelect2 Ajax 选定的数据值
【发布时间】:2018-04-21 14:40:08
【问题描述】:

我想问如何从ajax中选择默认值到select2?我的ajax代码:

// Customer
$('.shipper').select2({
    placeholder: "Choose Shipper",
    selectionTitleAttribute: false,
    ajax: {
        url: 'getCustomer.php',
        dataType: 'json',
        data: function (params) {
            return {
                filter_name: params.term
            };
        },
        processResults: function (data) {
            return {
                results: $.map(data, function (obj) {
                    return {id: obj.customer_id, text: obj.name};
                })
            };
        },
        cache: true
    },
    initSelection: function (element, callback) {
        return callback({id: "<?php echo $data['customerId']; ?>", text: '<?php echo $shipper['name']; ?>'});
    }
});

而我获取数据的 PHP 代码是这样的:

<?php

include('config.php');
$json = array();

if (isset($_GET['filter_name'])) {
    $clientId = $_GET['filter_name'];
    $query = "SELECT * FROM m_customer WHERE c_name LIKE '%$clientId%' AND c_status > 0 ORDER BY c_name ASC LIMIT 0,10";
} else {
    $query = "SELECT * FROM m_customer WHERE c_status > 0 ORDER BY c_name ASC LIMIT 0,10";
}
$result = mysqli_query($conn, $query);
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
    $json[] = array(
        'customer_id' => $row['c_id'],
        'name' => strip_tags(html_entity_decode($row['c_name'], ENT_QUOTES, 'UTF-8')),
    );
}

echo json_encode($json);
?>

我正在为我的 PHP 文件创建更新页面。所以我需要从我的数据库中选择这个select2。这就是为什么我从数据库中获取数据然后尝试设置为initSelection。它已经显示并被选中。但是当我按下保存按钮(并从检查元素查看我的代码)时,选择没有价值。所以保存失败(附截图)

【问题讨论】:

    标签: php ajax jquery-select2


    【解决方案1】:

    我有一个奇怪的解决方案:

    我使用数据库中的值和文本手动放置选项。完成!我的代码变成了这样:

    <select class="shipping form-control" name="shipping_id">
         <option value="<?php echo $data['shippingId']; ?>" selected><?php echo $shipping['name']; ?></option>
    </select>
    

    但是还有什么问题/原因吗?因为我认为这是一个奇怪的解决方案......(虽然它的工作)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-25
      • 2016-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多