我已经阅读了很多关于将Jquery变量传递给PHP的线程,但几乎所有帖子都在" Expert"等级,我无法理解一件事(这里是PHP / Jquery初学者)。希望我能得到一些帮助。
用户从下拉列表中选择后,脚本功能将运行。我想让用户从jquery中选择一个php变量。从那时起,我想使用用户的选择从数据库中检索数据并在同一页面上显示值。 我没有得到任何输出。
已编辑:所以这就是我在查看ajax函数后所做的事情
AFile.php
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#company').change(function(){
$.ajax({
type: 'GET',
url: '<?php echo url_mgt::getTest(); ?>',
data: 'company_name=' + $('#company').val(),
success: function(msg) {
$('#other').html(msg);
}
});
});
});
</script>
</head>
<body>
<select id="company" name="company">
<option value="Company_A">A</option>
<option value="Company_B">B</option>
<option value="Company_C">C</option>
<option value="Company_D">D</option>
</select>
<div id="other"></div>
</body>
companyArray.php
<?php
require('protect.php');
require_once(dirname(__FILE__) . '\..\controller\company_controller.php');
require_once(dirname(__FILE__) . '\..\controller\url.php');
$companyCtrl = new company_controller();
$compArray = $companyCtrl->retrieveAllCompany();
if($_GET['company_name']) {
$get_comp = $_GET['company_name'];
$inSpace = str_replace("_"," ", $get_comp);
foreach($compArray as $company) {
$comp_name = $company->getCompanyName();
if($get_comp == $company) {
$comp_add = $company->getCompanyAddress();
echo $comp_add;
}//end if
}//end foreach
} //end if
?>
我检查了元素,但是当我点击下拉列表时没有任何反应,我怀疑它是否会进入companyArray.php。我也不认为它是url_mgt :: getTest()链接,因为我一直在整个项目中使用这个url模式。
答案 0 :(得分:1)
在更改时使用Ajax请求,然后在成功时从服务器填充接收的值,您就可以按照要求执行操作。
注意:您无法将变量从客户端(js)传递到服务器端(php),而不会将其作为请求发送。
答案 1 :(得分:0)
您没有连接数据。
'company_name=' $('#company').val(),
应该是
'company_name=' + $('#company').val(),