Php 如何在不使用ajax刷新整个表单的情况下刷新表单中的下拉字段?

Php 如何在不使用ajax刷新整个表单的情况下刷新表单中的下拉字段?,php,mysql,ajax,yii,dropdownbox,Php,Mysql,Ajax,Yii,Dropdownbox,有一个表单,其中一个字段是一个下拉字段,其中包含数据库中的项名称 有一项添加新项目的规定,单击“添加新项目”按钮,将出现一个弹出窗口,我们可以保存新项目 虽然它保存在数据库中,但它不会反映在下拉字段中,因此我们需要刷新。但是刷新整个页面会导致丢失在其他字段中输入的值 我的问题是,如何仅刷新此下拉字段而不刷新整个表单?要在jQuery中向下拉框添加新元素,请使用下面的代码,将元素ID、值和文本替换为正确的信息(“添加新”按钮的输入信息) let dropdown=$(“#dropdown”); 追

有一个表单,其中一个字段是一个下拉字段,其中包含数据库中的项名称

有一项添加新项目的规定,单击“添加新项目”按钮,将出现一个弹出窗口,我们可以保存新项目

虽然它保存在数据库中,但它不会反映在下拉字段中,因此我们需要刷新。但是刷新整个页面会导致丢失在其他字段中输入的值


我的问题是,如何仅刷新此下拉字段而不刷新整个表单?

要在jQuery中向下拉框添加新元素,请使用下面的代码,将元素ID、值和文本替换为正确的信息(“添加新”按钮的输入信息)

let dropdown=$(“#dropdown”);
追加($('').attr('value',a_值).text(a_文本));
或:

$('#下拉列表')。追加($('').attr('value',a#value)。文本(a#name));

我也遇到了同样的问题,但有一个通知框,所以我在通知框上附加了一个事件,该事件通过单击开始。此事件将一些信息发送到一个PHP文件,PHP文件响应来自数据库的通知。您也可以这样做,当用户单击下拉字段时,将使用ajax向PHP文件发送一个请求,以从数据库中获取信息,在用户添加项目并保存后,如果他在下拉菜单上单击以关闭它,则会向数据库发送一个不带页面reald的请求,以获取所需信息。或者您甚至可以将事件附加到显示“保存”或其他内容的按钮上,这样当他单击“保存”时,请求将被发送,响应将被附加到下拉菜单的内容中,而无需重新加载

我的代码如下: JQuery:-

然后,您可以在php文件中使用
isset()
,以了解数据是否通过使用从ajax请求发送到php文件

//isset($_方法(POST/GET)['您发送的名称,位于ajax请求中数据对象的花括号内'])


isset($\u POST['get\u notifications'])

到目前为止您做了什么?您使用的是select2下拉列表还是应该添加的普通下拉列表code@Viswa我已经完成了整个编码。这是Yii框架。我首先将我的代码设计成这样一种方式:当添加一个新项目时,enitre页面将被刷新。因为这不是正确的方法,所以我尝试使用ajax。现在唯一的问题是刷新下拉字段。@Muhammad Omer Aslam,我使用的是带有实时搜索选项的下拉列表(data live search),因此在下拉列表中会有一个文本框以及要搜索的标记,以防搜索的单词没有结果,显示添加新项目的链接,这将在使用
Select2
下拉插件时出现?我使用的是带有实时搜索选项(data live search)的yii下拉列表,因此下拉列表中将显示一个文本框以及要搜索的标记,如果搜索词没有结果,则会显示添加新项目的链接
let dropdown = $('#dropdown');
dropdown.append($('<option></option>').attr('value', a_value).text(a_text));
$('#dropdown').append($('<option></option>').attr('value', a_value).text(a_name));
// the event click is attached to the icon of the notification through its class 
$('.icon').click(function () {
//I used this line to make the hidden notification box slide down to show content
    $('#notifications-box').slideToggle(400);
//here the ajax request will be sent on the click
    $.ajax({
// The method of sending the data is POST because it is more seucre
        method: "POST",
//the File that you want to the send the data to 
        url: "get_notifications.php",
// The data that needs to be sent
        data: {
            //the name       : // the value 
            get_notifications: "true"
        },
// then on success the return will be appended to the notification box ( status is the respond )
        success: function (status) {
            $('.notifications-box').append(status);
        }
    });
});