从表中保存多个下拉选择 - PHP MySQL

Posted

技术标签:

【中文标题】从表中保存多个下拉选择 - PHP MySQL【英文标题】:Save Multiple Dropdowns Selections from a Table - PHP MySQL 【发布时间】:2017-02-22 09:33:52 【问题描述】:

我有一个带有下拉选择列的表格。如何将 Save Button Click 上的选定选项保存到我的数据库。

我尝试了以下方法,但似乎无法将任何数据放入数组:

表格展示

表格中的下拉菜单:

<td  nowrap> 

<select class="bs-select form-control" name="providers[]"     id="serviceProviders" data-id="<?php echo $row["provider_id"]; ?>" id="serviceProvider" data-live-search="true" data-size="8">    
</select>

javascript 部分

$(document).on('click', '#saveChanges', function(e)

            var id = []; 

            $('serviceProviders').each(function(i)  

                 id[i] = $(this).val();  

                   console.log('Service Provider Values are  = ' + id[i]);
            );  
            if(id.length === 0) //tell you if the array is empty  
              
                 alert("Please Select at least one transaction");  
              
            else  
              
                 $.ajax(  
                      url:'some_php_scrip_to_save_the_data.php',  
                      method:'POST',  
                      data:id:id,  
                      success:function()  
                        
                           for(var i=0; i<id.length; i++)  
                             
                               // $('tr#'+id[i]+'').css('background-color', '#ccc');  
                               // $('tr#'+id[i]+'').fadeOut('slow');  

                               window.location.reload(true); 

                             
                        
                 );  
              


  );  

【问题讨论】:

您应该为此尝试多选。 我该怎么做? ID 在 html 文档中必须是唯一的,您不能在多个元素上使用相同的 id。而$('serviceProviders') 将选择具有 标签名称 serviceProviders 的元素,其中没有。 试试这个 好的。如果我区分 Id.. 然后我如何将不同的值放入一个数组中,因为 Droppdowns 是自动生成的,并且每次页面加载时都可以有不同的 Id.. 我如何在我的 JavaScript 中满足这一点? 【参考方案1】:

元素的 ID 属性必须是唯一的。 $('serviceProviders') 应该只返回一个选择元素。尝试将列号添加到 id 后缀以使其唯一。

var id = []
for (var i = 1; i <= MaxColNo; i++) 
  var e = document.getElementById("serviceprovider" + i);
  var text = e.options[e.selectedIndex].text;
  id[i] = text;

并在 ajax 调用中用引号包围属性名称 - data :'id':id

【讨论】:

以上是关于从表中保存多个下拉选择 - PHP MySQL的主要内容,如果未能解决你的问题,请参考以下文章

将下拉值保存到 PHP MySQL

从表格中选择不同的名称和编号并将其显示到下拉框中,然后保存我该怎么办?

MySQL:PHP:由于警告,无法从表中获取数据

mysql 根据数据所在的表从表中选择

如何使用 MySQL 查询从表中选择除一列之外的所有内容? [复制]

下拉不保存 - MVC C# 共享一个组合类并保存到另一个表中