Обновить опцию selectpicker после добавления новых данных для опции

У меня проблема с моим selectpicker плагины, когда я пытаюсь добавить новое значение для моей опции selectpicker, он не будет отображать вновь добавленную стоимость.

пока у меня есть этот код для моей категории selectpicker:

    <div class="form-group">
        <label>Select a category name or <button class="btn btn-success" data-toggle="modal" data-target=".modal_add_cat">Add new Category</button></label>
        <div id="display_cat">
            <select class="selectpicker" data-live-search="true" data-width="100%" id="category_name" name="category_name">
                <option value="">Select a category name...</option>
                <?php
                $query_get_category = mysqli_query($new_conn, "SELECT * FROM ob_category");

                if(mysqli_num_rows($query_get_category) > 0) {
                    while($row = mysqli_fetch_assoc($query_get_category)) {
                        $category_name = $row['category_name'];
                ?>
                <option value="<?php echo $category_name; ?>"><?php echo $category_name; ?></option>
                <?php } } else { ?>
                <option value="">Oh snap! It looks like there is no available category this time.</option>
                <?php } ?>
            </select>
        </div>
    </div>

и ниже мой PHP-код для добавления нового значения категории:

if(isset($_POST)) {

$category_name = trim(mysqli_real_escape_string($new_conn, $_POST['category_name']));

$query_check_category_name = mysqli_query($new_conn, "SELECT * FROM ob_category WHERE category_name = '$category_name'");

if(mysqli_num_rows($query_check_category_name) === 1) {

    echo 2;
} else {

    $query_add_cat = mysqli_query($new_conn, "INSERT INTO ob_category(category_name) VALUES('$category_name')");

    if($query_add_cat) {

        echo 1;
}


} else
    header('location: ../login.php');

тогда в моем jquery у меня есть этот код:

$('#add_cat').click(function() {

    var category_name = $('#ob_category').val();
    var data = 'category_name='+category_name;

    if(category_name === '') {

        swal({
            title: "I feel empty :(",
            text: "Oh snap! You should enter the name of the category that you want to add!",
            type: "error",
            confirmButtonText: "Retry",
            confirmButtonColor: "#ff5454"
        })
    } else {

        $.ajax({

            type: "POST",
            url: base_url('ajax/ajaxCreateCategory.php'),
            data: data,
            cache: false,
            beforeSend: function() {
                $('#add_cat').attr('disabled', true);
                $.blockUI({baseZ: 2000});
            },
            success: function(data) {

                if(data.trim() == 2) {

                    swal({
                        title: "Duplicate Category name!",
                        text: "Oh snap! The category named <b>"+category_name+"</b> is already in our database. Please enter another category name!",
                        type: "error",
                        confirmButtonText: "Retry",
                        confirmButtonColor: "#ff5454",
                        html: true
                    })
                } else {

                    if(data.trim() == 1) {

                        swal({
                            title: "Category added!",
                            text: "The category name has been successfully added!",
                            type: "success",
                            confirmButtonText: "Horrayyy!"
                        }, function() {
                            $('.selectpicker').selectpicker();
                            $('.selectpicker').selectpicker('refresh');
                        })
                    } else {

                        swal({
                            title: "Oh snap!",
                            text: "We are unable to add a new category name for the Other Budget. Please try again later!",
                            type: "error",
                            confirmButtonText: "Retry",
                            confirmButtonColor: "#ff5454"
                        })
                    }
                }
            }
        }).done(function() {
            $('#add_cat').attr('disabled', false);
            $('#ob_category').val(null);
            $('.modal_add_cat').modal('hide');
            $.unblockUI();
        })
    }
})

Я также попытался вставить его в $(document).ready(), но это не сработало.

0 ответов

Другие вопросы по тегам