我试图通过使用 jquery/ajax 脚本获得一个下拉框来更改第二个下拉框。 Firebug 显示 Jquery 正在运行,但我的脚本根本没有显示。
<script type="text/javascript">
function ajaxfunction(parent)
{
$.ajax({
url: '../functions/process.php?parent=' + parent;
success: function(data) {
$("#sub").html(data);
}
});
}
</script>
process.php 只是一个 MySQL 查询(有效)
我的初始下拉框由 MySQL 查询填充
<select name="front-size" onchange="ajaxfunction(this.value)">
//Query
</select>
然后第二个下拉框就是
<select name = "front-finish" id="sub">
</select>
我该如何解决这个问题?
最佳答案
调用内联函数一点也不好……因为 web 2.0 标准建议使用不显眼的 JS 而不是单一事件属性……查看原因 here .. 其他事情..使用 ajax 的正确方法是使用类型和数据 ajax 选项在 Controller 中发送值..
<script type="text/javascript">
$(function(){
$('select[name="front-size"').change(function()
{
$.ajax({
url: '../functions/process.php',
type:'get',
data:{'value' : $(this).val()},
dataType:"html", //<--- here this will take the response as html...
success: function(data) {
$("#sub").html(data);
}
});
});
});
</script>
你的 proces.php 应该是..
<?php
//db query ...thn get the value u wanted..
//loop through it..
$optVal .= "<option value="someDbValue">some DDB values</option>";
// end loop
echo $optValue;exit;
已更新
看起来你仍然有 onchange="ajaxfunction(this.value)"
在你的选择中删除它是不需要的,javascript 中的 ajaxfunction 也是......
<select name="front-size" >
//----^ here remove that
关于php - Jquery 脚本未显示在 firebug 或触发中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15470784/