下拉联动问题 日文? 不刷新很定要ajax传值呀 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 参考Ajax:<?php#action.phpif(isset($_GET['id'])){ $sql="select * from table where id=".$_GET['id']; $res=mysql_query($sql); if(!$res) die("SQL: {$sql} <br>Error:".mysql_error()); if(mysql_affected_rows() > 0){ $arrMenu=array(); while($rows = mysql_fetch_array(MYSQL_ASSOC)){ array_push($arrMenu,$rows); } } mysql_close(); if(!empty($arrMenu)){ echo "<select name='menu2'>"; foreach($arrMenu as $item2){ echo "<option value='{$item2['id']}'>{$item2['name']}</option>"; } echo "</select>"; }}?><form name="frm"><select name="s1" onChange="redirec(this.value)"> <option selected>请选择</option> <option value="1">天文</option> <option value="2">地理</option> <option value="3">算术</option></select><div id="s2"></div></form><script>$("select").live("change",function(){ $.ajax({ type: "GET", url: "action.php", data: "id="+$(this).val(), cache: false, success: function(text){ $("#show").append(text); } }); }); こんにちは。<!--{html_options options=$provinceList selected=$state}--><!--{html_options options=$provinceList selected=$city}-->你要把选中的省市id传一下。 你这乱七八糟的日文是什么网站?日本的? 日本用都道府县 市区町村。建议用ajax做。这样速度快点 不用每次刷新。<select name="mst_state_id" id="mst_state_id" onchange="Linkage(this.value,'mst_city_id')"> <option value="0">都道府県</option> {html_options options=$res.m_states selected=$res.mst_state_id|default:""}</select><select name="mst_city_id" id="mst_city_id"> <option value="0">市区町村</option> {html_options options=$res.m_city selected=$res.mst_city_id|default:""}</select>function Linkage(obj,id) { var param = {}; param.mst_state_id = obj; $.ajax({ type : "POST" , url : " php" , data : $.param(param) , dateType : "xml" , success : function(xml) { var selects = $("select[id="+id+"]"); $(selects)[0].length=0; $(selects)[0].options[0]=new Option("市区町村","0"); $("category", xml).each(function(){ var id = $("id", this).text(); var name = $("name", this).text(); $(selects)[0].options.add(new Option(name, id)); }); } });}url : "php" 这里是接受都道府县的id的php 注意路径这个php 最后输出$str = "";foreach ($m_state2 as $key => $val) { $str .= "<category><id>" . $key . "</id><name>" . $val . "</name></category>";}header("Content-Type:text/xml; charset=utf-8");echo '<?xml version="1.0" encoding="utf-8"?><data>'.mb_convert_encoding($str, "utf-8").'</data>';exit; ajax我不懂,所以请问$("select").live("change",function(){ $.ajax({ type: "GET", url: "action.php", data: "id="+$(this).val(), cache: false, success: function(text){ $("#show").append(text); } }); });这段代码是写在什么地方的?$_GET['id']的id是省的id?redirec(this.value) 这个方法里面写些什么? “param.mst_state_id = obj;” 里的“mst_state_id”是个属性还是什么? 这个<select name="mst_state_id" id="mst_state_id" onchange="Linkage(this.value,'mst_city_id')">mst_state_id 是你的select的属性。这个随便起名字,只要能统一就行。改成你的state也可以。 <form name="frm"><select name="s1" onChange="record(this.value)"> <option selected>请选择</option> <option value="1">天文</option> <option value="2">地理</option> <option value="3">算术</option></select><div id="show"></div></form><!--Ajax属于js应用,当然要放在script标签中,两种写法jQuery和JavaScript--><script>//Ajax-jquery,必须加载jQuery库:jquery_1.4.2.jsdocument.write("<script src='jquery_1.4.2.js'></script>");$("select").live("change",function(){ $.ajax({ type: "GET", url: "action.php", data: "id="+$(this).val(), //这里的id获取的是select选中的value值 cache: false, success: function(text){ $("#show").append(text); } }); });//Ajax-javascriptvar xmlHttp; function createXMLHttpRequest() { if(window.XMLHttpRequest) { xmlHttp = new XMLHttpRequest(); } else if (window.ActiveXObject) { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } } function record(id){ //这里的id获取的是select选中的value值 createXMLHttpRequest(); url = "action.php?id="+id+"&ran="+Math.random(); method = "GET"; xmlHttp.open(method,url,true); xmlHttp.onreadystatechange = show; //利用回调函数返回php处理后的数据 xmlHttp.send(null); } function show(){ if (xmlHttp.readyState == 4){ if (xmlHttp.status == 200){ var text = xmlHttp.responseText; document.getElementById("show").innerHTML = text; //这里将php返回的数据写入html中id=show的标签中 }else { alert("response error code:"+xmlHttp.status); } } }</script> 我只是想联动一下,怎么会这么麻烦呢,我都看不懂啊,拷进去也改不对“jquery_1.4.2.js”是不是还需要这个文件,还是只要有这句话就可以了?好痛苦啊 你想用ajax就要加载jquery文件的。需要那个文件 要把它加载到你的html文件里面 写对路径。<script type="text/javascript" src="/common/js/jquery.js(文件名后来我自己改的,看你的情况自己写)"></script>写在head头里就行。 这个能测试,至于能懂多少就看你的了,先会用,再慢慢琢磨<?php/* Created on [2012-7-4] Author[Newton] */#Ajax_select.php 此php和html要分为两个页面if(isset($_GET['id'])){ #$arrMenu数组可以是数据库查询的结果数组等任意二维数组 $arrMenu=array( array('id'=>3,'name'=>'Tom'), array('id'=>2,'name'=>'Lily'), array('id'=>1,'name'=>'Smith'), ); echo "<select name='menu2'>"; foreach($arrMenu as $item2){ echo "<option value='{$item2['id']}'"; if($item2['id']==$_GET['id']) echo "selected"; echo " >{$item2['name']}</option>"; } echo "</select>";}?><html> <head> <title>测试Variable Modifiers</title> </head> <body><form name="frm"><select name="s1" onChange="record(this.value)"> <option selected>请选择</option> <option value="1">天文</option> <option value="2">地理</option> <option value="3">算术</option></select><div id="show"></div></form><script language='javascript'>//Ajaxvar xmlHttp; function createXMLHttpRequest() { if(window.XMLHttpRequest) { xmlHttp = new XMLHttpRequest(); } else if (window.ActiveXObject) { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } } function record(id){ createXMLHttpRequest(); url = "Ajax_select.php?id="+id+"&ran="+Math.random(); method = "GET"; xmlHttp.open(method,url,true); xmlHttp.onreadystatechange = show; xmlHttp.send(null); } function show(){ if (xmlHttp.readyState == 4){ if (xmlHttp.status == 200){ var text = xmlHttp.responseText; document.getElementById("show").innerHTML = text; }else { alert("response error code:"+xmlHttp.status); } } }</script> </body></html> 你可以使用$_GET,或者$_getJson来处理,方便 onChange="record(this.value)" 取不到value值。。 用phpmailer类群发送邮件问题 UPDATE and INSERT 在一起,高手救命! 求一正则在线等 php数组提问 我这样写错了吗? 说了不该说的话……后果很严重~散分 php+MS sql server 2000,数据输出变成乱码问题? [class]html table 类,结合实例 天气预报 我的php只要有关于session的语句就不能看网页,是不是php.ini设置的问题,请帮我看看 查询更新不了,请大神指点(急、急、急) 未审核的帖子在首页显示出来了 php 如何显示所属类别
<?php
#action.php
if(isset($_GET['id'])){
$sql="select * from table where id=".$_GET['id'];
$res=mysql_query($sql);
if(!$res) die("SQL: {$sql} <br>Error:".mysql_error());
if(mysql_affected_rows() > 0){
$arrMenu=array();
while($rows = mysql_fetch_array(MYSQL_ASSOC)){
array_push($arrMenu,$rows);
}
}
mysql_close();
if(!empty($arrMenu)){
echo "<select name='menu2'>";
foreach($arrMenu as $item2){
echo "<option value='{$item2['id']}'>{$item2['name']}</option>";
}
echo "</select>";
}
}?><form name="frm">
<select name="s1" onChange="redirec(this.value)">
<option selected>请选择</option>
<option value="1">天文</option>
<option value="2">地理</option>
<option value="3">算术</option>
</select>
<div id="s2"></div>
</form>
<script>$("select").live("change",function(){
$.ajax({
type: "GET",
url: "action.php",
data: "id="+$(this).val(),
cache: false,
success: function(text){
$("#show").append(text);
}
});
});
<!--{html_options options=$provinceList selected=$state}-->
<!--{html_options options=$provinceList selected=$city}-->
你要把选中的省市id传一下。
建议用ajax做。这样速度快点 不用每次刷新。<select name="mst_state_id" id="mst_state_id" onchange="Linkage(this.value,'mst_city_id')">
<option value="0">都道府県</option>
{html_options options=$res.m_states selected=$res.mst_state_id|default:""}
</select>
<select name="mst_city_id" id="mst_city_id">
<option value="0">市区町村</option>
{html_options options=$res.m_city selected=$res.mst_city_id|default:""}
</select>function Linkage(obj,id) {
var param = {};
param.mst_state_id = obj;
$.ajax({
type : "POST"
, url : " php"
, data : $.param(param)
, dateType : "xml"
, success : function(xml) {
var selects = $("select[id="+id+"]");
$(selects)[0].length=0;
$(selects)[0].options[0]=new Option("市区町村","0");
$("category", xml).each(function(){
var id = $("id", this).text();
var name = $("name", this).text();
$(selects)[0].options.add(new Option(name, id));
});
}
});
}url : "php" 这里是接受都道府县的id的php 注意路径
这个php 最后输出$str = "";
foreach ($m_state2 as $key => $val) {
$str .= "<category><id>" . $key . "</id><name>" . $val . "</name></category>";
}
header("Content-Type:text/xml; charset=utf-8");
echo '<?xml version="1.0" encoding="utf-8"?><data>'.mb_convert_encoding($str, "utf-8").'</data>';
exit;
ajax我不懂,所以请问$("select").live("change",function(){
$.ajax({
type: "GET",
url: "action.php",
data: "id="+$(this).val(),
cache: false,
success: function(text){
$("#show").append(text);
}
});
});这段代码是写在什么地方的?$_GET['id']的id是省的id?redirec(this.value) 这个方法里面写些什么?
“param.mst_state_id = obj;” 里的“mst_state_id”是个属性还是什么?
mst_state_id 是你的select的属性。这个随便起名字,只要能统一就行。改成你的state也可以。
<select name="s1" onChange="record(this.value)">
<option selected>请选择</option>
<option value="1">天文</option>
<option value="2">地理</option>
<option value="3">算术</option>
</select>
<div id="show"></div>
</form>
<!--Ajax属于js应用,当然要放在script标签中,两种写法jQuery和JavaScript-->
<script>
//Ajax-jquery,必须加载jQuery库:jquery_1.4.2.js
document.write("<script src='jquery_1.4.2.js'></script>");
$("select").live("change",function(){
$.ajax({
type: "GET",
url: "action.php",
data: "id="+$(this).val(), //这里的id获取的是select选中的value值
cache: false,
success: function(text){
$("#show").append(text);
}
});
});//Ajax-javascript
var xmlHttp; function createXMLHttpRequest() {
if(window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
} else if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
} function record(id){ //这里的id获取的是select选中的value值
createXMLHttpRequest();
url = "action.php?id="+id+"&ran="+Math.random();
method = "GET";
xmlHttp.open(method,url,true);
xmlHttp.onreadystatechange = show; //利用回调函数返回php处理后的数据
xmlHttp.send(null);
} function show(){
if (xmlHttp.readyState == 4){
if (xmlHttp.status == 200){
var text = xmlHttp.responseText;
document.getElementById("show").innerHTML = text; //这里将php返回的数据写入html中id=show的标签中
}else {
alert("response error code:"+xmlHttp.status);
}
}
}
</script>
需要那个文件 要把它加载到你的html文件里面 写对路径。<script type="text/javascript" src="/common/js/jquery.js(文件名后来我自己改的,看你的情况自己写)"></script>
写在head头里就行。
/* Created on [2012-7-4] Author[Newton] */
#Ajax_select.php 此php和html要分为两个页面
if(isset($_GET['id'])){
#$arrMenu数组可以是数据库查询的结果数组等任意二维数组
$arrMenu=array(
array('id'=>3,'name'=>'Tom'),
array('id'=>2,'name'=>'Lily'),
array('id'=>1,'name'=>'Smith'),
);
echo "<select name='menu2'>";
foreach($arrMenu as $item2){
echo "<option value='{$item2['id']}'";
if($item2['id']==$_GET['id'])
echo "selected";
echo " >{$item2['name']}</option>";
}
echo "</select>";
}
?>
<html>
<head>
<title>测试Variable Modifiers</title>
</head>
<body>
<form name="frm">
<select name="s1" onChange="record(this.value)">
<option selected>请选择</option>
<option value="1">天文</option>
<option value="2">地理</option>
<option value="3">算术</option>
</select>
<div id="show"></div>
</form>
<script language='javascript'>
//Ajax
var xmlHttp; function createXMLHttpRequest() {
if(window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
} else if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
} function record(id){
createXMLHttpRequest();
url = "Ajax_select.php?id="+id+"&ran="+Math.random();
method = "GET";
xmlHttp.open(method,url,true);
xmlHttp.onreadystatechange = show;
xmlHttp.send(null);
} function show(){
if (xmlHttp.readyState == 4){
if (xmlHttp.status == 200){
var text = xmlHttp.responseText;
document.getElementById("show").innerHTML = text;
}else {
alert("response error code:"+xmlHttp.status);
}
}
}
</script>
</body>
</html>