gpt4 book ai didi

php - jQuery 不在选择上加载数据

转载 作者:行者123 更新时间:2023-11-30 18:06:02 25 4
gpt4 key购买 nike

我有一个 PHP 主页面,它使用 jQuery 加载用户可以执行的操作的不同页面。

Main page

这是用户执行所有操作的地方。它有一个 jQuery 脚本,当您单击橙色元素时 <p> .

当您单击“Solicitar Software”时,jQuery 会加载“solicitus.php”。这个 php 页面有它自己的脚本。

enter image description here

当加载“solicitudes.php”页面时,它的 PHP 脚本就会运行。

require('conexion.php');
$conexion = new connection();

$query = "SELECT * FROM Carreras";
$resultado = mysql_query($query, $conexion -> conn) or die('ERROR:' .$query);

?>

脚本加载数据库中的所有职业并将它们添加到<select>如您所见:

enter image description here

问题就在这里,当我点击一个职业时,它没有加载与职业相关的列表主题。但是,如果我单独访问 PHP 文件,它运行良好。

enter image description here

这是 jQuery 代码:

$(document).ready(function() {
$("#carrera").change( //Select a carrer
function()
{
var carreraId = $('#carrera option:selected').val();
var queryMaterias = "carreraid=" + carreraId + "&valor=" + $("#valor").val();

jQuery.ajax({
url: 'acciones.php',
type: 'GET',
dataType: 'text',
data: queryMaterias,
success: function(data)
{
$("#lmateria").empty();
$("#lmateria").append(data); //Add subjects to the <select>
// $("#lmateria").html(data);
},
error: function(xhr, textStatus, errorThrown) {
//called when there is an error
alert(errorThrown);
},
});

}
);
});

我做错了什么吗?可能是什么问题?感谢您的帮助。

主页:

<html>
<head>
<meta charset="utf-8">
<title>Sistema de Administración</title>
<link rel="stylesheet" type="text/css" href="//necolas.github.com/normalize.css/2.1.0/normalize.css">
<link rel="stylesheet" type="text/css" href="css/administrador.css">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript" src="scripts/administrador.js"></script>

</head>
<body>

<div id="acciones">
<p id="logo">
<img src="images/logo1.jpg" alt="logo">
</p>
<p id="division">Agregar Division</p>
<p id="carrera">Agregar Carrera</p>
<p id="materia">Agregar Materia</p>
<p id="software">Agregar Software</p>
<p id="profesor">Agregar Profesor</p>
<p id="ssoftware">Solicitar Software</p>
<p id="solicitudes">Lista de Solicitudes</p>
<center><input type="button" id="logout" value="Salir" onclick="window.location.href='acciones.php?valor=5'"></center>
</div>
<div id="resultado">

</div>

</body>
</html>

jQuery 在 <div> resultado 上加载“solicitud.php” .

征集.php:

<!doctype html>

<?php

require('conexion.php');
$conexion = new connection();

$query = "SELECT * FROM Carreras";
$resultado = mysql_query($query, $conexion -> conn) or die('ERROR:' .$query);

?>

<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="css/solicitud.css">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript" src="scripts/solicitud.js"></script>

</head>

<body>
<header>
<h2>Solicitud de Software</h2>
</header>
<form action="acciones.php" id="solicitud" method = "GET">
<select name="carrera" id="carrera">
<option value="">Seleccione una carrera</option>
<?php
while ($datos = mysql_fetch_assoc($resultado)) #MUESTRA LOS ROLES
{
?>
<option value="<?php echo $datos['id'];?>"><?php echo utf8_encode($datos['Carrera']);?></option>
<?php
}
?>
</select>

<select name="materias" id="lmateria">
<option value="">Potato</option>
</select>

<!-- <input type="text" placeholder="Nombre" id="nombre" name="nombre">
<input type="text" placeholder="Codigo" id="codigo" name="codigo">
<input type="button" value="Agregar" id="enviar"> -->
<input type="hidden" id="valor" name="valor" value='17'>
</form>
<h3 id="exito">Agregado!</h3>
</body>
</html>

最佳答案

在没有看到 HTML 的情况下,我不确定这是否 100% 正确,但应该为您指明正确的方向:

$(document).ready(function() {
$("#carrera").change(function() {
jQuery.ajax({
url: 'acciones.php',
type: 'GET',
dataType: 'text',
data: {
carreraid: $('#carrera').val(),//possibly?
valor: $("#valor").val()
},
success: function(data) {
//In my experince, this is the safe way to replace (or append) options.
$("#lmateria").find("option").each(function(i, opt) {
$(this).remove();
});
//Wrap in <select>...</select> only if not already included in data.
$("<select>" + data + "</select>").find("option").each(function(i, opt) {
$("#lmateria").append(opt);
});
},
error: function(xhr, textStatus, errorThrown) {
//called when there is an error
alert(errorThrown);
},
});
});
});

关于php - jQuery 不在选择上加载数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15779687/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com