#javascript #html #jquery
Вопрос:
Я пытаюсь получить значение из первого выбора «selector-tabla», данные заряжаются в первом выборе «selector-tabla», но я не могу получить из него выбранное значение, чтобы зарядить данные во втором выборе «select-campo».
Я вхожу в консоль>
Object { is_ajax: 1, tabla: NaN, consulta: "TRUE" }
Я пытаюсь отправлять оповещения об изменении «селектора-табла», чтобы узнать его значение, но я получаю неопределенное
<script type="text/javascript">
$(document).ready(function() {
$.ajax({
type: "POST",
url: "tablas_cambiar-datos.php",
data: {consulta: "TRUE"
,start: "TRUE"
},
success: function(response)
{
$(".selector-tabla select").html(response).fadeIn();
selector_campo();
}
});
});
function selector_campo(){
var form_data = {
is_ajax: 1,
tabla: $(".select-campo select").val()
, consulta: "TRUE"
};
console.log(form_data);
$.ajax({
type: "POST",
url: "tablas_cambiar-datos.php",
data: form_data,
success: function(response)
{
$(".selector-campo select").html(response).fadeIn();
}
});
}
$(document).ready(function() {
$(".selector-tabla select").change(function() {
alert($('#AttorneyEmpresa option:selected').val());
selector_campo();
});
});
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="row">
<div class="form-group col-md-6 selector-tabla">
<label>Tabla</label>
<select class="select" name="tabla">
</select>
</div>
<div class="form-group col-md-6 selector-campo">
<label>Campo</label>
<select class="select" name="campo" id="AttorneyEmpresa">
</select>
</div>
</div>
У меня есть это в инспекторе html>
<!-- ///////////////////////////////////////// -->
<!-- ///////////////////////////////////////// -->
<!-- ///////////////////////////////////////// -->
<!-- ///////////////////////////////////////// -->
<!-- ///////////////////////////////////////// -->
<!-- selector-tabla-->
<div class="form-group col-md-6 selector-tabla">
<label>Tabla</label>
<select class="select select2-hidden-accessible" name="tabla" tabindex="-1" aria-hidden="true">
<option value="parroquias">0 parroquias</option>
<option value="sfx_admin_users">1 sfx_admin_users</option>
<option value="sfx_otros_empresa">2 sfx_otros_empresa</option><option value="sfx_otros_estado">3 sfx_otros_estado</option>
<option value="sfx_otros_locales">4 sfx_otros_locales</option><option value="sfx_productos_">5 sfx_productos_</option>
<option value="sfx_productos_cantidad">6 sfx_productos_cantidad</option>
<option value="sfx_productos_codbarras">7 sfx_productos_codbarras</option>
<option value="sfx_productos_empaque">8 sfx_productos_empaque</option>
<option value="sfx_productos_empaque_set">9 sfx_productos_empaque_set</option>
<option value="sfx_productos_peso_set">10 sfx_productos_peso_set</option>
<option value="sfx_productos_proveedores">11 sfx_productos_proveedores</option>
</select>
<span class="select2 select2-container select2-container--default select2-container--above select2-container--focus" dir="ltr" style="width: 100%;"><span class="selection"><span class="select2-selection select2-selection--single" role="combobox" aria-haspopup="true" aria-expanded="false" tabindex="0" aria-labelledby="select2-tabla-r3-container"><span class="select2-selection__rendered" id="select2-tabla-r3-container" title="3 sfx_otros_estado">3 sfx_otros_estado</span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span></span></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>
</div>
<!-- ///////////////////////////////////////// -->
<!-- ///////////////////////////////////////// -->
<!-- ///////////////////////////////////////// -->
<!-- ///////////////////////////////////////// -->
<!-- ///////////////////////////////////////// -->
<!-- selector-campo-->
<div class="form-group col-md-6 selector-campo">
<label>Campo</label>
<select class="select select2-hidden-accessible" name="campo" id="AttorneyEmpresa" tabindex="-1" aria-hidden="true">
( ! ) Notice: Undefined variable: sql in D:UsersfalcoOneDriveVARIOSLocalPAGINA WEBadmintablas_cambiar-datos.php on line 18
Call Stack
#TimeMemoryFunctionLocation
10.0013365016{main}( )...tablas_cambiar-datos.php:0
( ! ) Warning: mysqli_error() expects exactly 1 parameter, 0 given in D:UsersfalcoOneDriveVARIOSLocalPAGINA WEBadmintablas_cambiar-datos.php on line 18
Call Stack
#TimeMemoryFunctionLocation
10.0013365016{main}( )...tablas_cambiar-datos.php:0
20.0318466408mysqli_error
( )...tablas_cambiar-datos.php:18
( ! ) Fatal error: Query Failed! SQL: - Error: in D:UsersfalcoOneDriveVARIOSLocalPAGINA WEBadmintablas_cambiar-datos.php on line 18
Call Stack
#TimeMemoryFunctionLocation
10.0013365016{main}( )...tablas_cambiar-datos.php:0
20.0335466408trigger_error
( )...tablas_cambiar-datos.php:18
</select>
<span class="select2 select2-container select2-container--default" dir="ltr" style="width: 100%;"><span class="selection"><span class="select2-selection select2-selection--single" role="combobox" aria-haspopup="true" aria-expanded="false" tabindex="0" aria-labelledby="select2-AttorneyEmpresa-container"><span class="select2-selection__rendered" id="select2-AttorneyEmpresa-container"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span></span></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>
</div>
Комментарии:
1. Знак » » перед
$(".select-campo select").val()
может преобразовать строковое значение в число. Вот почему ты получаешь НаН.2. без » » я получаю неопределенное значение, с » » я получаю NaN
3. Вам нужно добавить событие изменения, чтобы зафиксировать выбранную опцию.
$(".select-campo select").change(function() { alert($(this).children("option:selected").val()); } );
.
Ответ №1:
произошла ошибка в javascript, спасибо за ppl в ответах на комментарии
<script type="text/javascript">
$(document).ready(function() {
$.ajax({
type: "POST",
url: "tablas_cambiar-datos.php",
data: {consulta: "TRUE"
,start: "TRUE"
},
success: function(response)
{
$(".selector-tabla select").html(response).fadeIn();
selector_campo();
}
});
});
function selector_campo(){
var form_data = {
is_ajax: 1,
tabla: $(".selector-tabla select").val()
,consulta: "TRUE"
};
console.log(form_data);
$.ajax({
type: "POST",
url: "tablas_cambiar-datos.php",
data: form_data,
success: function(response)
{
$(".selector-campo select").html(response).fadeIn();
}
});
}
$(document).ready(function() {
$(".selector-tabla select").change(function() {
selector_campo();
});
});
</script>