Обновить опцию 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(), но это не сработало.