[英]How to update db with the multiple select option values: Wordpress
我有一个包含几个项目并具有状态列的自定义表。 我创建了一个使用select更改状态的下拉列表。
在这里,我要做的是,在更改状态选择选项时,应在数据库中更新该特定行的状态值。 我可以使用jquery来获取select的值,但是当同时选择多个下拉列表时,我不确定如何更新表。
我有以下选择选项,
<select id ="update-statusDropDown">
<option name="waiting" value="waiting">Waiting</option>
<option name="due" value="due">Due Diligence</option>
<option name="escrow" value="escrow">Escrow</option>
<option name="inspection" value="inspection">Inspection</option>
<option name="closed" value="closed">Closed</option>
</select>
我的jQuery如下所示,
jQuery(document).ready(function () {
jQuery('select#update-statusDropDown').change(function () {
//Selected value
var inputValue = $(this).val();
alert("value in js " + inputValue);
//Ajax for calling php function
jQuery.post('update-listing-status.php', {dropdownValue: inputValue}, function (data) {
alert('ajax completed. Response: ' + data);
//do after submission operation in DOM
});
});
});
我想根据下拉菜单中的“ inputValue”更新表中的状态值。 另外,如果同时选择了多个下拉菜单,则如何一起更新所有值。 有人可以帮忙吗?
您已经使用该下拉列表的ID注册了select的change事件,这意味着只有具有该ID的下拉列表才会触发您通过jquery.post发出的请求。
而是使用class属性作为select元素,并在该类上注册change事件
现在,要获取唯一元素,您可以使用该选择元素和选项的data属性,例如data-tableid =“ something”
在这种情况下,您可以注册所有选择元素的所有change事件,并能够提取仅对给定表或列名唯一的值。
$('.class-name').on( 'change' , function(){ // Get the Select itself var me = $(this); var tableid = me.data('tableid'); var something = $(this).find(':selected').data('something'); console.log( tableid ); console.log( something ); } );
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <select class="class-name" data-tableid="table-id"> <option value="the value" data-something="some value 2">The Title 2 </option> <option value="the value" data-something="some value">The Title</option> </select>
因此,由于您现在能够唯一地标识正在使用的选择和正在使用的选项,因此您可以根据需要发出请求。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.