我有两个通过js函数相互链接的选择,我想在php后的文件中检索这两个选择中选择的值以显示它们
var combi = {};
var infoPrix;
let index = $('#form input:not([type="submit"]').length / 3;
<!-- Fonction pour récupérer les infos des bdds -->
function getTable(table) {
console.log(table);
$.ajax({
url: "http://127.0.0.1/Dylan/json.php?table=" + table,
cache: false,
dataType: "json",
type: "GET",
<!-- data : 'localisation=' + infoPrix, -->
success: function (result, success) {
console.log('succes', result)
infoPrix = result;
var testInfo = {};
var loca = {};
var descr = '<input name="newprix" type="text" id="srt" readonly>';
var actions = '<button type="button" name="remove" id="btn" class="btn btn-danger btn_remove">X</button>';
var commentaires = '<textarea name="commentaires" id="commentaires" rows="10" cols="50" maxlength="85"></textarea>';
// CELUI A MODIFIER
var options = '<FORM><TR><TH><b>Choississez une option 1 </b>:</TH></TR><TR><TD><select required name="option1" onChange="Choix(this.form, :::index:::)"><OPTION> </OPTION><option>Néoprène</option><option>Accroc</option></SELECT></TD><TD><br> <TH><b>Option 2 :</b></TH><SELECT name="Options2" class="Options2" onChange="run(:::index:::)" ></SELECT></TD></TR></FORM><br><b>Option 3</b> : Couture : <br><input class="input1" data-index=":::index:::" name="couture" type="text" value="" placeholder="Tapez ici le nombre de cm à réparer" onclick="multiplie(:::index:::)"/>';
for (var i = 0; i < infoPrix.length; i++) {
combi[infoPrix[i].Localisation] = infoPrix[i];
combi[infoPrix[i].Localisation].localisation = infoPrix[i].Localisation; //A récupérer
combi[infoPrix[i].Localisation].garantie = infoPrix[i].Garantie; //A récupérer
combi[infoPrix[i].Localisation].prix = infoPrix[i].Prix; //A récupérer
combi[infoPrix[i].Localisation].commentaires = commentaires;
// combi[infoPrix[i].Localisation].options2=options2;
combi[infoPrix[i].Localisation].options = options;
combi[infoPrix[i].Localisation].actions = actions;
}
console.log('test info:', combi);
},
error: function (result, success) {
console.log('failure')
}
});
}
//FONCTION POUR LES MENUS DEROULANTS
function Choix(form, ind) {
let valeur = +($(`[data-id="${ind}"] .prix`).text());
i = form.option1.selectedIndex;
if (i == 0) {
form.Options2.innerHTML = "<option></option>";
form.Options2.options[0].text = "--- Choisissez une option 2 ---";
return;
}
let txt;
switch (i) {
case 1:
txt = {
"Panneau entier": valeur,
"Demi panneau": "",
"Empiècement < 5cm": "20",
"Empiècement > 5cm": "40"
};
break;
case 2:
txt = {
"Empiècement < 5cm": "20",
"Empiècement > 5cm": "40"
};
break;
}
// Error catching si jamais on rajoute un élément au premier tableau et qu'on l'oublie dans le deuxième
if (!txt) {
return console.error('[E] Unknown first select value');
}
form.Options2.innerHTML = "<option></option>";
form.Options2.options[0].text = "--- Choisissez une option 2 ---";
form.Options2.selectedIndex = 0;
for (var key in txt) {
var value = txt[key];
// Création de l'élément
const el = document.createElement("option");
// Population des champs
el.text = key;
el.value = value;
// Ajout seulement lorsque l'élément est complétement prêt
form.Options2.appendChild(el);
}
}
function addRow(combi) {
//On ajoute autant les cellules
const localisation = combi.localisation;
const garantie = combi.garantie;
const id = `prixmultiplie_${index}`;
const prix = combi.prix;
// const commentaires = combi.commentaires;
const tr = $('<tr>').attr('data-id', index);
$(tr).append($('<td>').html(localisation));
$(tr).append($('<td>').html(combi.options.replace(/:::index:::/g, index)));
$(tr).append($('<td>').html(garantie));
$(tr).append($('<td>').attr('id', id).attr('class', 'prix').html(prix));
$(tr).append($('<td>').html(combi.commentaires));
$(tr).append($('<td>').html(combi.actions));
$('#form').append($(`<br />`));
console.log('localisation :', localisation);
console.log('prix :', prix);
console.log('garantie :', garantie);
$('#form').append($(`<input type="hidden" name="localisation[${index}]" id="localisation" value="${localisation}" />`));
$('#form').append($(`<input type="hidden" name="prix[${index}]" id="prix" value="${prix}" />`));
$('#form').append($(`<input type="hidden" name="garantie[${index}]" id="garantie" value="${garantie}" />`));
// $('#form').append($(`<input type="hidden" name="Options2[${index}]" id="Options2" value="${Options2}" />`));
// $('#form').append($(`<textarea style="display:none;" name="commentaires" id="commentaires" value="${commentaires} </textarea>`));
$('#tableau').append(tr);
index++;
}
//FONCTION POUR AFFICHER UN PRIX DANS UN INPUT DEPUIS UN MENU DEROULANT
function run(ind) {
document.getElementById("prixmultiplie_" + ind).innerHTML = $(`[data-id="${ind}"] .Options2`).val();
// valeur = +($(`[data-id="${ind}"] .prix`).text());
// console.log(valeur);
}
我想在我的PHP页面上检索Selects“ option1”和“ Options2”中包含的值:
$prix = isset($_POST['prix'][$val]);
$options = ["$prix1" => "Panneau entier", "" => "Demi panneau", "20" => "Empiècement < 5cm", "40" => "Empiècement > 5cm"];
$value = $options[$_POST['Options2']];
echo $value;