我有一个带有下拉选择列的表。如何在“保存”按钮上保存所选选项单击“我的数据库”。
我尝试了以下但我似乎无法将任何数据输入数组:
TABLE DISPLAY
表中的DROPDOWN:
<td width="10%" 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 PART
$(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);
}
}
});
}
});
答案 0 :(得分:0)
元素的ID属性必须是唯一的。 $(&#39; serviceProviders&#39;)应该只返回一个select元素。尝试将列号后缀为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;
}
&#13;
在ajax中使用引号调用环绕声属性名称 - 数据:{&#39; id&#39;:id}