목차
回复讨论(解决方案)

下拉联动问题

Jun 23, 2016 pm 01:55 PM
쓰러지 다 결합

省和市的联动,省市的内容都是从数据库里取出来的,
现在是选择了省,对应的市出来之后,省又回到最初的值,选择的值保存不住,因为画面又刷新了。
有什么办法能保存住省,或者不用画面刷新?

下面是部分代码

<p class="Fld"><label class="label" for="state">省</label><span class="control"><select id="state" class="req1" name="Prefecture"  onchange="getCitySubmit();"> 		<!--{html_options options=$provinceList}-->        </select></span></p><p class="Fld"><label class="label" for="city">市</label><span class="control"><select id="city" class="req1" name="City" >            <!--{html_options options=$cityList}-->        </select></span></p>
로그인 후 복사

//初期,绑定省 public function action()    {    	$retArr=array();    	//省取得    	$retArr=$this->qaModel->getProvince();    	if(count($retArr)>0)    	{    		foreach ($retArr as $key => $i)    		{    		   $provinceList[$i["PROVINCE_KEY"]] = $i["PROVINCE_NAME"];    		}    	}    	//取得したデ?タを?定      	$this->_smarty->assign("provinceList", $provinceList);    	// お?い合わせ画面を表示する 这步显示画面submit.html    	$this->_smarty->render($this->_language."/submit");    }//联动,绑定市 public function cityAction()    {    	$province_key=$this->_context->query("province_key", "");    	$this->log->info($province_key);    	$retArr=array();    	//省取得    	$retArr=$this->qaModel->getCity($province_key);    	if(count($retArr)>0)    	{    		foreach ($retArr as $key => $i)    		{    			$cityLis[$i["CITY_KEY"]] = $i["CITY_NAME"];    		}    	}    	//取得したデ?タを?定    	$this->_smarty->assign("cityList", $cityLis);    	// お?い合わせ画面を表示する  这步再回到初期,这样的话省就重新绑定了    	$this->action();    }
로그인 후 복사


回复讨论(解决方案)

日文? 不刷新很定要ajax传值呀

参考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);				  }			});		});
로그인 후 복사

这是ajax的事。

こんにちは。


你要把选中的省市id传一下。

こんにちは。


你要把选中的省市id传一下。



弄是弄好了,还是刷新的。

你这乱七八糟的日文是什么网站?日本的? 日本用都道府县 市区町村。
建议用ajax做。这样速度快点 不用每次刷新。




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 .= "" . $key . "" . $val . "";
}
header("Content-Type:text/xml; charset=utf-8");
echo ''.mb_convert_encoding($str, "utf-8").'';
exit;

你这乱七八糟的日文是什么网站?日本的? 日本用都道府县 市区町村。
建议用ajax做。这样速度快点 不用每次刷新。



{html……



是中国的网站,有三种语言版本

你这乱七八糟的日文是什么网站?日本的? 日本用都道府县 市区町村。
建议用ajax做。这样速度快点 不用每次刷新。


mst_state_id 是你的select的属性。这个随便起名字,只要能统一就行。改成你的state也可以。

引用 2 楼 的回复:

参考Ajax:
PHP code
#action.php
if(isset($_GET['id'])){
$sql="select * from table where id=".$_GET['id'];
$res=mysql_query($sql);
if(!$res) die("SQL: {$sql}
Error:".mysq……



<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>
로그인 후 복사

引用 8 楼 的回复:

引用 2 楼 的回复:

参考Ajax:
PHP code
#action.php
if(isset($_GET['id'])){
$sql="select * from table where id=".$_GET['id'];
$res=mysql_query($sql);
if(!$res) die("SQL: {$sql} ……




我只是想联动一下,怎么会这么麻烦呢,我都看不懂啊,拷进去也改不对。。。

“jquery_1.4.2.js”是不是还需要这个文件,还是只要有这句话就可以了?

好痛苦啊

你想用ajax就要加载jquery文件的。
需要那个文件 要把它加载到你的html文件里面 写对路径。


写在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来处理,方便

这个能测试,至于能懂多少就看你的了,先会用,再慢慢琢磨
PHP code

/* Created on [2012-7-4] Author[Newton] */
#Ajax_select.php 此php和html要分为两个页面
if(isset($_GET['id'])){
    #$arrMenu数组可以是数据库查询的结果数组等任意二维数组
    $arrMenu=arr……


onChange="record(this.value)" 取不到value值。。

会报一个警告,オブジェクトを指定してください。
我以为是参数传错了,后来发现把参数去掉也报这个错

谢谢各位,搞定了

会报一个警告,オブジェクトを指定してください。
我以为是参数传错了,后来发现把参数去掉也报这个错


出这个问题是什么情况?怎么解决啊,楼主
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Zhengtu IPx 클래식 애니메이션 'Journey to the West' 서쪽으로의 여행은 용감하고 용감합니다. Zhengtu IPx 클래식 애니메이션 'Journey to the West' 서쪽으로의 여행은 용감하고 용감합니다. Jun 10, 2024 pm 06:15 PM

광활한 곳을 여행하고 서쪽으로 여행을 떠나세요! 오늘 Zhengtu IP는 전통과 혁신을 결합한 문화 축제를 공동으로 만들기 위해 CCTV 애니메이션 '서유기'와 국경 간 협력을 시작할 것이라고 공식 발표했습니다! 이번 협력은 국내 두 주요 클래식 브랜드 간의 심층적인 협력을 의미할 뿐만 아니라 중국 전통 문화를 홍보하려는 Journey 시리즈의 끊임없는 노력과 끈기를 보여줍니다. Zhengtu 시리즈는 탄생 이후 심오한 문화 유산과 다양한 게임 플레이로 플레이어들의 사랑을 받아왔습니다. 문화적 유산 측면에서 Zhengtu 시리즈는 항상 중국 전통 문화에 대한 존경과 사랑을 유지해 왔으며 전통 문화 요소를 게임에 교묘하게 통합하여 플레이어에게 더 많은 재미와 영감을 선사했습니다. CCTV 애니메이션 '서유기'는 세대를 거쳐 성장해 온 고전이다.

더블 셰프 엑스터시! '음양사'×'하츠네 미쿠' 콜라보레이션이 3월 6일부터 시작됩니다 더블 셰프 엑스터시! '음양사'×'하츠네 미쿠' 콜라보레이션이 3월 6일부터 시작됩니다 Feb 22, 2024 pm 06:52 PM

NetEase의 "음양사" 모바일 게임은 오늘 음양사 x 하츠네 미쿠 한정 콜라보레이션이 3월 6일에 공식적으로 시작될 것이라고 발표했습니다. 콜라보레이션 한정 SSR 하츠네 미쿠(CV: 후지타 사키)와 SSR 카가미네 린(CV: 시모다 아사미)이 헤이안쿄에 등장합니다! 연계 온라인 특별공연 이벤트가 3월 9일 게임 내에서 정식으로 시작됩니다~

프라이드치킨은 훌륭한 사업이고 실수할 여지가 없습니다! 'Backwater Cold'는 KFC와 연결되어 플레이어가 '치킨 소리를 들으면 춤을 추게' 합니다. 프라이드치킨은 훌륭한 사업이고 실수할 여지가 없습니다! 'Backwater Cold'는 KFC와 연결되어 플레이어가 '치킨 소리를 들으면 춤을 추게' 합니다. Apr 17, 2024 pm 06:34 PM

이날 '백워터 콜드'는 4월 19일부터 5월 12일까지 KFC와 연계를 론칭한다고 공식 발표했다. 그러나 구체적인 연계 내용은 많은 이들을 경악케 했다. 그것은 사회에 중요합니다." 죽었다"! 그 이유는 이번 테마 이벤트의 슬로건에 있습니다. KFC의 '원신임팩트'와 '벵티에'의 연계를 본 친구들은 '니수이'에서 '다른 세계를 만나 맛있는 음식을 즐기는 것'이 현실이 되었다는 인상을 받았을 것입니다. 한" 지금: 사무원에게 "하나님이 사건을 조사하고 계시는데 당신은 누구입니까?"라고 외쳐라. 사무원은 "치킨은 큰 사업이고 오류가 있을 수 없다!"라고 대답해야 한다. 직원을 위한 교육 가이드: 절대 웃지 마세요! 뿐만 아니라 이번 콜라보는 댄스 경연대회도 진행했다. 테마스토어에 가서 '지' 소리가 들리면 춤을 추면 작은 악보대도 얻을 수 있다. 부끄럽다, 너무 부끄럽다! 하지만 그게 내가 원하는 거야

고전 재회, 시공간 역전, '용과 같은 2' x '서유기' 영화 연계 결정 고전 재회, 시공간 역전, '용과 같은 2' x '서유기' 영화 연계 결정 Mar 28, 2024 pm 04:40 PM

시간과 공간을 뒤바꾸는 클래식한 재회. 모바일 게임 '드래곤 2'와 고전 영화 '서유기'가 4월 11일 공동 개봉 예정입니다! 충칭의 전설적인 이야기를 다시 Zhizunbao와 Zixia의 전투를 목격하십시오. 형형색색의 상서로운 구름이 있을 것이고, 황금 갑옷과 성의가 있을 것입니다. "반야바라밀타"라는 말이 여러분의 귓가에 울려 퍼지면 자하가 지존보(大寶)의 가슴에 남긴 눈물을 생각해 보시겠습니까? 천년, 그러나 운명의 운명을 피할 수는 없습니다. 돌아올 수 없더라도 죽을 때까지 내 사랑은 결코 변하지 않을 것입니다. 서유기 콜라보 출연작 [만년의 외눈]과 [신의 뜻]이 기념일 버전과 동시에 출시됩니다. 황금 갑옷을 입거나, 자신만의 비할 데 없는 영웅을 만나, 가장 열정적인 청춘으로 돌아갈 수 있기를 바랍니다. 오백년의 수호, 죽을 때까지의 진실한 사랑, 그날 낙양을 만났을 때 우연히 한 말

'디아블로: 임모탈'과 '검과 요정의 전설'의 콜라보레이션이 결정됐습니다! '디아블로: 임모탈'과 '검과 요정의 전설'의 콜라보레이션이 결정됐습니다! Apr 17, 2024 pm 02:58 PM

넷이즈게임즈는 '디아블로: 임모탈'이 '검과 요정의 전설'과 연계하기로 결정했다고 오늘 밝혔다. 4월 24일, '일검은 행복하다'가 불멸의 수련의 새로운 시대를 연다! 하나는 서양 판타지의 고전이고, 다른 하나는 동양 불사신의 영원한 기억으로, 암흑의 우주와 요정검이 시공간적으로 얽혀 있으며, 두 개의 주요 IP가 협력하여 악마를 처치합니다. 4월 24일, 정의와 기사도의 불멸의 전설이 성역에서 상연됩니다!

Java 개발 양식 필드의 연결 및 종속성 기능 Java 개발 양식 필드의 연결 및 종속성 기능 Aug 07, 2023 am 08:41 AM

Java 개발 양식 필드의 연결 및 종속성 기능 소개: 웹 개발에서 양식은 자주 사용되는 상호 작용 방법입니다. 사용자는 양식을 통해 정보를 입력하고 제출할 수 있지만 번거롭고 중복되는 양식 필드 선택 작업으로 인해 사용자에게 문제가 발생하는 경우가 많습니다. .불편을 가져오세요. 따라서 사용자 경험과 운영 효율성을 향상시키기 위해 양식 필드의 연결 및 종속 기능이 널리 사용됩니다. 이 기사에서는 Java 개발을 사용하여 양식 필드의 연결 및 종속성 기능을 구현하는 방법을 소개하고 해당 코드 예제를 제공합니다. 1. 양식 필드 연계 기능 구현 형태

원멍스타 울트라맨 정품 연계: 제로 제타가 울트라의 힘에 공명하여 열정의 불꽃을 터뜨립니다! 원멍스타 울트라맨 정품 연계: 제로 제타가 울트라의 힘에 공명하여 열정의 불꽃을 터뜨립니다! Feb 24, 2024 pm 02:25 PM

원멍스타 울트라맨 정품 연계 시리즈, 제로 제타의 동일한 패션 디테일이 오늘 공개되었습니다. 모두가 오랫동안 기대하고 있었던 것 같아요. 제로 제타와의 공동 브랜드 패션이 오늘 출시되었습니다. 울트라맨 링크업에 대한 자세한 내용을 알려드리는 데 도움이 되었으면 좋겠습니다. 원멍스타 울트라맨 정품 연계: 제로 제타가 울트라의 힘에 공명하여 열정의 불꽃을 터뜨립니다! 빛의 왕국의 새로운 세대의 젊은 울트라 워리어로서 울트라맨 제로는 얼티메이트 제로 가드의 대장입니다. 울트라맨 제로는 거침없고 친절하며 열정적이고 거리낌이 없습니다. "아직도 나와 함께 있으면 편하지 않나요? 제로가 최선을 다해 지켜드리겠습니다." 별보물들, 별보물들, 울트라맨 제로의 의상을 입고 제로와 함께 용감하게 싸워라! 디테일한 디스플레이, 모델링액션, 등장액션, 대기액션, 제타, 나는 3분의 1의 멍청이가 아니다, 나는 우주다

ECharts와 PHP 인터페이스를 결합하여 다중 차트 연결 통계 차트 표시를 구현하는 방법 ECharts와 PHP 인터페이스를 결합하여 다중 차트 연결 통계 차트 표시를 구현하는 방법 Dec 18, 2023 am 10:07 AM

데이터 시각화 분야에서 ECharts는 널리 사용되는 프런트엔드 차트 라이브러리이며, ECharts의 강력한 데이터 시각화 기능은 다양한 산업 분야에서 수요가 높습니다. 실제 프로젝트에서는 여러 차트를 연결하여 표시해야 하는 상황이 자주 발생합니다. 이 기사에서는 ECharts와 PHP 인터페이스를 결합하여 다중 차트 연결 통계 차트 표시를 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 1. 전제 조건 이 기사를 실행하려면 다음 기술을 습득해야 합니다. HTML, CSS 및 JavaScript에 대한 기본 지식;

See all articles