Итак, я использую динамический c раскрывающийся список и получаю значения из базы данных, а затем использую выбранную опцию, чтобы сделать несколько условных выражений. Выпадающий список создается динамически, мой код выглядит следующим образом:
function buscarHist(fgshgdjhgfgffjtfj) {
$('.divHist').show();
$('#down').html('');
$.getJSON("./php/obtenerDatos.php", {
IDA: fgshgdjhgfgffjtfj
}, function(data) {
var enca = Object.keys(data[0]);
// console.log(enca);
$.each(enca, function(i, item) {
// $('#catalogos').append(item)
$('#down').append('<option value ="' + data[0][item] + '" > ' + item + ' </option>')
// console.log(item)
});
});
$('#down').change(function() {
$('#txtnombre').val($(this).val())
// var mivalor = $('#txtnombre').val()
})
}
$(document).ready(function() {
var AFIRMACIONES = [{
display: "NO",
value: "0"
},
{
display: "SI",
value: "1"
}
];
var AFIRMACIONES2 = [{
display: "SI",
value: "1"
},
{
display: "NO",
value: "0"
}
];
$(document).ready(function() {
getSelectData($("#down"));
});
$("#down").change(function() {
getSelectData($(this));
function getSelectData(el) {
var $option = el.find('option:selected');
var text = $option.text();
console.log(text);
switch (text) {
case 'PESO':
list(AFIRMACIONES);
break;
case 'ZURDO':
list(AFIRMACIONES2);
break;
default:
$("#child_selection").html('');
break;
}
}
// var parent = $(this).val();
// console.log(parent)
// console.log(parent)
});
function list(array_list) {
$("#child_selection").html("");
$(array_list).each(function(i) {
$("#child_selection").append("<option value=\"" + array_list[i].value + "\">" + array_list[i].display + "</option>");
});
}
$('#child_selection').change(function() {
$('#txtnombre').val($(this).val())
//$("#txtnombre").hide();
// }
})
все работает нормально, но я пытаюсь использовать этот фрагмент кода, чтобы помочь мне получить значение
var $option = el.find('option:selected');
var text = $option.text();
console.log(text);
Предполагается, что
var text приносит мне значение 'PESO', которое это нормально, но когда я пытаюсь использовать это значение для переключения условного, ничего не делает, мой вопрос, возможно ли использовать этот ярлык в качестве значения? Потому что я не могу использовать значения 0 и 1, например, которое будет значением в примере PESO ...
ОБНОВЛЕНИЕ: Хорошо, мой раскрывающийся список работает динамически, и я извлекаю данные, используя этот код, который использует ответ Json
function buscarHist(fgshgdjhgfgffjtfj){
$('.divHist').show();
$('#down').html('');
$.getJSON("./php/obtenerDatos.php",{IDA:fgshgdjhgfgffjtfj}, function(data){
var enca = Object.keys(data[0]);
// console.log(enca);
$.each(enca,function(i,item){
// $('#catalogos').append(item)
$('#down').append('<option value ="' + data[0][item] + '" > '+ item +' </option>')
$("#down option:selected").text()
if($("#down option:selected").text() == 'EDO_CIVIL'){
$('#txtnombre').hide();
// llenarNuevoDrop(ID_CATALOGO);
//ocultarTEXT;
//eventoCHANGEdelnuevoDROP();
}
});
и в моем коде html я только использую этот фрагмент кода, чтобы показать выпадающее меню и текстовое поле, чего я пытаюсь достичь, это вызвать информацию из базы данных и затем отредактировать определенные значения в соответствии с выбором пользователя Я использую этот список, потому что из базы данных есть определенные значения, которые работают только с каталогами, например, «ZURDO» отображается как 1 или 0 в каталоге, и я должен показать «SI» или «НЕ», «EDO_CIVIL» иметь эти значения внутри каталога » 1 ',' 2 ',' 3 ', но, очевидно, я не могу показать это значение пользователю, поэтому я должен использовать' SOLTERO ',' CASADO ',' VIUDO ', поэтому я сейчас пытаюсь достичь этого, я верю, потому что, как я звоню данные о моих родительских выпадающих не отображаются на ребенка?
это мой код от HTML:
</thead>
<select name="down" id="down" >
</select>
<select name="child_selection" id="child_selection">
</select>
<input id="txtnombre" type="text" class="form-control autofocus form-control-round F1" placeholder="SIN INFORMACION"/>
<input id="txtnombre2" type="text" style="visibility:hidden" class="form-control autofocus form-control-round F1" placeholder="SIN INFORMACION"/>