如何使用 AJAX 请求获取 select 列表中的所有值?
How to get all the values in a select list with a AJAX request?
我正在使用以下代码传递下拉列表的 selected 值:
function getData(){
//Variabelen die worden gehaald uit de gekozen dropdown selecties
$('#slctTable, #slctField, #slctAttribute').change(function ()
{
//var fieldvalues = fieldValues;
var tableSelected = document.getElementById("slctTable").value;
var fieldSelected = document.getElementById("slctField").value;
var attributeSelected = document.getElementById("slctAttribute").value;
$.ajax({
"url": "php/getData.php",
"type": "GET",
"data": {
//fieldValues: fieldValues,
tableSelected: tableSelected,
fieldSelected: fieldSelected,
attributeSelected: attributeSelected
},
success: function(data){
// mapData(data);
}
})
});
};
但现在我想获取 select 列表的所有值并将它们传递给变量:tableList、fieldList 和 attributeList。我可以像处理 selected 值一样这样做吗?
试试这个:
function getData() {
//Variabelen die worden gehaald uit de gekozen dropdown selecties
$('#slctTable, #slctField, #slctAttribute').change(function () {
//var fieldvalues = fieldValues;
var tableSelected = document.getElementById("slctTable").value;
var fieldSelected = document.getElementById("slctField").value;
var attributeSelected = document.getElementById("slctAttribute").value;
$.ajax({
"url": "php/getData.php",
"type": "GET",
"data": {
//fieldValues: fieldValues,
tableList: tableSelected,
fieldList: fieldSelected,
attributeList: attributeSelected
},
success: function (data) {
// mapData(data);
}
})
});
};
函数调用中的事件绑定不是绑定事件的好方法,它会导致多个绑定。 最好在文档就绪块中执行此操作。
But now I want to get al the values of the select lists and pass them in the variables: tableList, fieldList and attributeList. Can i do that the same way as I did with the selected values?
function allValues(el) {
var arr = $('option', el).map(function(i, v) {
return this.value;
}).get();
return arr;
}
$('#slctTable, #slctField, #slctAttribute').change(function() {
//var fieldvalues = fieldValues;
var tableSelected = document.getElementById("slctTable").value;
var fieldSelected = document.getElementById("slctField").value;
var attributeSelected = document.getElementById("slctAttribute").value;
var tableList = allValues($('#slctTable'));
var fieldList = allValues($('#slctField'));
var attributeList = allValues($('#slctAttribute'));
$.ajax({
"url": "php/getData.php",
"type": "GET",
"data": {
//fieldValues: fieldValues,
tableSelected: tableSelected,
fieldSelected: fieldSelected,
attributeSelected: attributeSelected,
tableList: tableList,
fieldList: fieldList,
attributeList: attributeList
},
success: function(data) {
// mapData(data);
}
})
});
你必须像这样更改代码
function getData(){
//Variabelen die worden gehaald uit de gekozen dropdown selecties
$('#slctTable, #slctField, #slctAttribute').change(function ()
{
//var fieldvalues = fieldValues;
var tableSelected = $("#slctTable :selected").val();
var fieldSelected = $("#slctField :selected").val();
var attributeSelected = $("#slctAttribute :selected").val();
$.ajax({
"url": "php/getData.php",
"type": "GET",
"data": {
//fieldValues: fieldValues,
tableSelected: tableSelected,
fieldSelected: fieldSelected,
attributeSelected: attributeSelected
},
success: function(data){
// mapData(data);
}
})
});
};
我正在使用以下代码传递下拉列表的 selected 值:
function getData(){
//Variabelen die worden gehaald uit de gekozen dropdown selecties
$('#slctTable, #slctField, #slctAttribute').change(function ()
{
//var fieldvalues = fieldValues;
var tableSelected = document.getElementById("slctTable").value;
var fieldSelected = document.getElementById("slctField").value;
var attributeSelected = document.getElementById("slctAttribute").value;
$.ajax({
"url": "php/getData.php",
"type": "GET",
"data": {
//fieldValues: fieldValues,
tableSelected: tableSelected,
fieldSelected: fieldSelected,
attributeSelected: attributeSelected
},
success: function(data){
// mapData(data);
}
})
});
};
但现在我想获取 select 列表的所有值并将它们传递给变量:tableList、fieldList 和 attributeList。我可以像处理 selected 值一样这样做吗?
试试这个:
function getData() {
//Variabelen die worden gehaald uit de gekozen dropdown selecties
$('#slctTable, #slctField, #slctAttribute').change(function () {
//var fieldvalues = fieldValues;
var tableSelected = document.getElementById("slctTable").value;
var fieldSelected = document.getElementById("slctField").value;
var attributeSelected = document.getElementById("slctAttribute").value;
$.ajax({
"url": "php/getData.php",
"type": "GET",
"data": {
//fieldValues: fieldValues,
tableList: tableSelected,
fieldList: fieldSelected,
attributeList: attributeSelected
},
success: function (data) {
// mapData(data);
}
})
});
};
函数调用中的事件绑定不是绑定事件的好方法,它会导致多个绑定。 最好在文档就绪块中执行此操作。
But now I want to get al the values of the select lists and pass them in the variables: tableList, fieldList and attributeList. Can i do that the same way as I did with the selected values?
function allValues(el) {
var arr = $('option', el).map(function(i, v) {
return this.value;
}).get();
return arr;
}
$('#slctTable, #slctField, #slctAttribute').change(function() {
//var fieldvalues = fieldValues;
var tableSelected = document.getElementById("slctTable").value;
var fieldSelected = document.getElementById("slctField").value;
var attributeSelected = document.getElementById("slctAttribute").value;
var tableList = allValues($('#slctTable'));
var fieldList = allValues($('#slctField'));
var attributeList = allValues($('#slctAttribute'));
$.ajax({
"url": "php/getData.php",
"type": "GET",
"data": {
//fieldValues: fieldValues,
tableSelected: tableSelected,
fieldSelected: fieldSelected,
attributeSelected: attributeSelected,
tableList: tableList,
fieldList: fieldList,
attributeList: attributeList
},
success: function(data) {
// mapData(data);
}
})
});
你必须像这样更改代码
function getData(){
//Variabelen die worden gehaald uit de gekozen dropdown selecties
$('#slctTable, #slctField, #slctAttribute').change(function ()
{
//var fieldvalues = fieldValues;
var tableSelected = $("#slctTable :selected").val();
var fieldSelected = $("#slctField :selected").val();
var attributeSelected = $("#slctAttribute :selected").val();
$.ajax({
"url": "php/getData.php",
"type": "GET",
"data": {
//fieldValues: fieldValues,
tableSelected: tableSelected,
fieldSelected: fieldSelected,
attributeSelected: attributeSelected
},
success: function(data){
// mapData(data);
}
})
});
};