本文将介绍javascript-在PHP中调用下拉列表后,ajax将不会响应的详细情况,特别是关于php下拉框获取值并显示的相关信息。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主题
本文将介绍javascript-在PHP中调用下拉列表后,ajax将不会响应的详细情况,特别是关于php下拉框获取值并显示的相关信息。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主题,同时也将涉及一些关于javascript - 关于thinkphp 与 ajax 实现二级联动下拉列表、JavaScript XML实现两级级联下拉列表_javascript技巧、javascript – Ajax调用,Java脚本Ajax调用和JQuery Ajax调用之间的区别、javascript – Jquery ajax在Phonegap中调用RESTful API的知识。
本文目录一览:- javascript-在PHP中调用下拉列表后,ajax将不会响应(php下拉框获取值并显示)
- javascript - 关于thinkphp 与 ajax 实现二级联动下拉列表
- JavaScript XML实现两级级联下拉列表_javascript技巧
- javascript – Ajax调用,Java脚本Ajax调用和JQuery Ajax调用之间的区别
- javascript – Jquery ajax在Phonegap中调用RESTful API
javascript-在PHP中调用下拉列表后,ajax将不会响应(php下拉框获取值并显示)
我试图通过html页面上的ajax使用PHP从API捕获数据,当我尝试进行直接链接时,它可以成功工作,但是当我尝试在下拉菜单中使用ajax调用它时,就像无法调用ajax.
这是我的html
<head>
<link rel="stylesheet" type="text/css" href="css/normalize.css">
<link rel="stylesheet" type="text/css" href="css/skeleton.css">
<script type="text/javascript" src="js/jquery-2.1.3.min.js">
</script>
<script type="text/javascript" src="js/script.js"></script>
<title>Penggunaan API RajaOngkir | IDMore</title>
</head>
<body>
<div>
<div>
<br />
<div>
<h1>Hitung Ongkos Kirim</h1>
</div>
</div>
<div>
<div>
<h5>Masukan Data</h5>
</div>
</div>
<div>
<div>Asal
<br />
<select id="oriprovince">
<option>Province</option>
</select></div>
<div>
<br />
<select id="oricity">
<option>Kota</option>
</select>
</div>
<div>Tujuan
<br />
<select id="desprovince">
<option>Provinsi</option>
</select></div>
<div>
<br />
<select id="descity">
<option>Kota</option>
</select>
</div>
<div>Layanan
<br />
<select id="service">
<option>JNE</option>
<option>POS</option>
<option>TIKI</option>
</select></div>
<div>
<br />
<button id="btncheck">Cek Harga</button>
</div>
</div>
<div>
<div>
<h5>Harga</h5>
</div>
<hr />
<table>
<tr>
<th>Servis</th>
<th>Deskripsi Servis</th>
<th>Lama Kirim (hari)</th>
<th>Total Biaya (Rp)</th>
</tr>
<span id="resultsBox">
<tr>
<td>...</td>
<td>...</td>
<td>...</td>
<td>...</td>
</tr>
<tr>
<td>...</td>
<td>...</td>
<td>...</td>
<td>...</td>
</tr>
</span>
</table>
</div>
</div>
</body>
这是我的JavaScript.
$(document).ready(function() {
loadProvinsi('#oriprovince');
loadProvinsi('#desprovince');
$('#oriprovince').change(function() {
alert('yussan');
});
$('#desprovince').change(function() {
alert('yussan');
});
});
function loadProvinsi(id) {
$('#oricity').hide();
$('#descity').hide();
$(id).html('loading...');
$.ajax({
url: 'process.PHP?act=showprovince',
dataType: 'json',
success: function(response) {
$(id).html('');
province = '';
$.each(response['rajaongkir']['results'], function(i, n) {
province = '<option value="n[province_id]">'+n['province']+'</option>';
<option></option>
province = province + '';
$(id).append(province);
});
},
error: function() {
$(id).html('ERROR');
}
});
}
解决方法:
$.each(response['rajaongkir']['results'], function(i, n) {
var option = '<option value="'+n['province_id']+'">'+n['province']+'</option>';
province += option;
});
$(id).append(province);
请使用此代码替换每个函数.然后重试.
javascript - 关于thinkphp 与 ajax 实现二级联动下拉列表
表的结构
cid 分类id
cname 分类名称
gid 父级id
这是我的html页面
<volist name="rs" id="val"><option value="{$val.cId}">{$val.cName}</option></volist><select name="lable" id="lables"></select>
ajax代码
<script><br>$(''#gType'').click(function(){</script>
$(this).change(function(){ var objectModel = {}; var value = $(this).val(); var type = $(this).attr(''id''); objectModel[gType] =value; $.ajax({ cache:false, type:"POST", url:"__APP__/Goods/goodsAdd", dataType:"json", data:objectModel, timeout:30000, success:function(data){ $("#lables").empty(); var count = data.length; var i = 0; var b=""; for(i=0;i<count b value=''"+data[i].cId+"''>"+data[i].cName+""; } $("#lables").append(b); } }); });</count>
}
);
thinkphp接收页面
public function goodsAdd(){
$model=M("category"); $rs=$model->where("pid=0")->select(); $this->assign("rs",$rs); $this->display(); $result = array(); $cate =$_POST[''gType'']; var_dump($cate); $result = M(''category'')->where(array(''pid''=> $cate))->field(''cId,cName'')->select(); var_dump($result); $this->ajaxReturn($result,"JSON"); }
请问哪里出错了 ajax刚接触
立即学习“PHP免费学习笔记(深入)”;
回复内容:
表的结构
cid 分类id
cname 分类名称
gid 父级id
这是我的html页面
<volist name="rs" id="val"><option value="{$val.cId}">{$val.cName}</option></volist><select name="lable" id="lables"></select>
ajax代码
<script><br>$(''#gType'').click(function(){</script>
$(this).change(function(){ var objectModel = {}; var value = $(this).val(); var type = $(this).attr(''id''); objectModel[gType] =value; $.ajax({ cache:false, type:"POST", url:"__APP__/Goods/goodsAdd", dataType:"json", data:objectModel, timeout:30000, success:function(data){ $("#lables").empty(); var count = data.length; var i = 0; var b=""; for(i=0;i<count b value=''"+data[i].cId+"''>"+data[i].cName+""; } $("#lables").append(b); } }); });</count>
}
);
thinkphp接收页面
public function goodsAdd(){
$model=M("category"); $rs=$model->where("pid=0")->select(); $this->assign("rs",$rs); $this->display(); $result = array(); $cate =$_POST[''gType'']; var_dump($cate); $result = M(''category'')->where(array(''pid''=> $cate))->field(''cId,cName'')->select(); var_dump($result); $this->ajaxReturn($result,"JSON"); }
请问哪里出错了 ajax刚接触
立即学习“PHP免费学习笔记(深入)”;
PHP代码段你原来正常的是怎样的?怎么又有display又有ajaxReturn的。。
JavaScript XML实现两级级联下拉列表_javascript技巧
1.创建测试XML文件:select.xml
2.创建HTML页面:select.html
<script>... <BR>/**//** <BR>* @description 二级级联下拉 <BR>* @author BluesLee <BR>* @lastModif BluesLee <BR>* @createDate 2007-10-13 <BR>* @modifDate 2007-10-15 <BR>* @version 1.0 <BR>*/ <BR>SelectLevel.prototype.xml; <BR>SelectLevel.prototype.provinces; <BR>SelectLevel.prototype.parentName="province";//父节点名称 <BR>SelectLevel.prototype.childName="city";//子节点名称 <BR>SelectLevel.prototype.keyName="id";//属性 <BR>/**//** <BR>* 对象SelectLevel的构造器 <BR>* @author BluesLee <BR>* @lastModif BluesLee <BR>* @createDate 2007-10-13 <BR>* @modifDate 2007-10-15 <BR>* @version 1.0 <BR>*/ <BR>function SelectLevel(parentName,childName,keyName)...{ <BR>if(parentName!=null && parentName!="")...{ <BR>this.parentName=parentName; <BR>} <BR>if(childName!=null && childName!="")...{ <BR>this.childName=childName; <BR>} <BR>if(keyName!=null && keyName!="")...{ <BR>this.keyName=keyName; <BR>} <BR>} <BR>/**//** <BR>* 加载xml文件 <BR>* @author BluesLee <BR>* @lastModif BluesLee <BR>* @createDate 2007-10-13 <BR>* @modifDate 2007-10-15 <BR>* @version 1.0 <BR>*/ <BR>SelectLevel.prototype.readXML=function(url)...{ <BR>var selectXML; <BR>//如果它受支持,采用标准的2级DOM技术 <BR>if(document.implementation && document.implementation.createDocument)...{ <BR>//创建新的Document对象 <BR>selectXML=document.implementation.createDocument("","",null); <BR>//设置装载完毕时触发事件 <BR>selectXML.onload=function()...{ <BR>alert("加载完成"); <BR>} <BR>selectXML.load(url); <BR>}else...{//IE浏览器创建Document对象 <BR>selectXML=new ActiveXObject("Microsoft.XMLDOM"); <BR>//设置onload <BR>selectXML.onreadystatechange=function()...{ <BR>if(selectXML.readyState==4)...{ <BR>alert("加载完成"); <BR>} <BR>} <BR>selectXML.load(url); <BR>} <BR>this.xml=selectXML; <BR>} <BR>/**//** <BR>* 遍历xml <BR>* @author BluesLee <BR>* @lastModif BluesLee <BR>* @createDate 2007-10-13 <BR>* @modifDate 2007-10-15 <BR>* @version 1.0 <BR>*/ <BR>SelectLevel.prototype.iteratorXML=function(node,level)...{ <BR>var n=node; <BR>if(n==null)...{ <BR>n=this.xml.documentElement; <BR>} <BR>if(level==null)...{ <BR>level=0; <BR>} <BR>if(n.nodeType==3)...{ <BR>for(var i=0;i<level;i++)...{ <BR>document.write("-"); <BR>} <BR>document.write(n.data.trim()+"<br>"); <BR>}else...{ <BR>for(var m=n.firstChild;m!=null;m=m.nextSibling)...{ <BR>this.iteratorXML(m,level+1); <BR>} <BR>} <BR>} <BR>/**//** <BR>* 下拉联动 <BR>* @author BluesLee <BR>* @lastModif BluesLee <BR>* @createDate 2007-10-13 <BR>* @modifDate 2007-10-15 <BR>* @version 1.0 <BR>*/ <BR>SelectLevel.prototype.changeSelect=function()...{ <BR>var city=document.getElementById(this.childName); <BR>var province=document.getElementById(this.parentName); <BR>city.options.length=0; <BR>if(province.value==null || province.value=="")...{ <BR>city.options.length=1; <BR>city.options[0].text="请选择…"; <BR>return; <BR>} <BR>var citys=this.provinces[this[province.value]].getElementsByTagName(this.childName); <BR>if(citys.length==0)...{ <BR>city.options.length=city.options.length+1; <BR>city.options[city.options.length-1].value=province.value; <BR>for(var i=0;i<province.options.length;i++)...{ <BR>if(province.options[i].selected)...{ <BR>city.options[city.options.length-1].text=province.options[i].text; <BR>return; <BR>} <BR>} <BR>return; <BR>} <BR>city.options.length=citys.length; <BR>for(var i=0;i<citys.length;i++)...{ <BR>city.options[i].value=citys[i].getAttribute(this.keyName); <BR>city.options[i].text=citys[i].firstChild.data.trim(); <BR>} <BR>} <BR>/**//** <BR>* 初始化下拉列表 <BR>* @author BluesLee <BR>* @lastModif BluesLee <BR>* @createDate 2007-10-13 <BR>* @modifDate 2007-10-15 <BR>* @version 1.0 <BR>*/ <BR>SelectLevel.prototype.init=function(parent,province,city)...{ <BR>this.provinces=this.xml.getElementsByTagName(this.parentName); <BR>var selectProvince=document.createElement("select"); <BR>var selectCity=document.createElement("select"); <BR>var obj=this; <BR>selectProvince.setAttribute("name",this.parentName); <BR>selectProvince.setAttribute("id",this.parentName); <BR>selectProvince.attachEvent("onchange",function()...{obj.changeSelect();}); <BR>selectProvince.options.length=this.provinces.length+1; <BR>selectProvince.options[0].text="请选择…"; <BR>selectCity.setAttribute("name",this.childName); <BR>selectCity.setAttribute("id",this.childName); <BR>selectCity.options.length=1; <BR>selectCity.options[0].text="请选择…"; <BR>for(var i=0;i<this.provinces.length;i++)...{ <BR>SelectLevel.prototype[this.provinces[i].getAttribute(this.keyName)]=i; <BR>selectProvince.options[i+1].value=this.provinces[i].getAttribute(this.keyName); <BR>selectProvince.options[i+1].text=this.provinces[i].firstChild.data.trim(); <BR>if(this.provinces[i].getAttribute(this.keyName)==province)...{ <BR>selectProvince.options[i+1].selected=true; <BR>var citys=this.provinces[i].getElementsByTagName(this.childName); <BR>selectCity.options.length=citys.length+1; <BR>for(var j=0;j<citys.length;j++)...{ <BR>selectCity.options[j+1].value=citys[j].getAttribute(this.keyName); <BR>selectCity.options[j+1].text=citys[j].firstChild.data.trim(); <BR>if(citys[j].getAttribute(this.keyName)==city)...{ <BR>selectCity.options[j+1].selected=true; <BR>} <BR>} <BR>} <BR>} <BR>parent.appendChild(selectProvince); <BR>parent.appendChild(selectCity); <BR>} <BR>String.prototype.trim=function()...{ <BR>return this.replace(/^s*/g,"").replace(/s*$/g,""); <BR>} <BR>//测试 <BR>var newXML=new SelectLevel(); <BR>newXML.readXML("select.xml"); <BR>//newXML.iteratorXML(null,-2); <BR>newXML.init(document.body,"sx","bj"); <BR></script>