Heim >Backend-Entwicklung >PHP-Tutorial >php+jquery做onchange提交动作的问题,请人帮忙看看

php+jquery做onchange提交动作的问题,请人帮忙看看

WBOY
WBOYOriginal
2016-06-23 14:19:23947Durchsuche

PHP jQuery onchange

我有个列表出来的结果,每列都有个onchange的动作,可是只有第一行的onchange可以操作,其他都没有反应,不知道怎么回事。
 <?	include("../config.inc.php");		//医生排班列表开始	$strDoctorTime = "";	if( isset($_REQUEST['Action']) && !empty($_REQUEST['Action']) && ($_REQUEST['Action'] == "setdoctortime") ){						$sqlDoctorTime = "select sid,doctorid,CONVERT(varchar(100), starttime, 20) as starttime,CONVERT(varchar(100), endtime, 120) as endtime,duration,createtime,type,operid,status,visits_counts,original_counts,istrue from gst_scheduling where doctorid = '".$_REQUEST['doctorid']."' ";		//if ( (isset($_REQUEST['starttime']) && !empty($_REQUEST['starttime'])) && (isset($_REQUEST['endtime']) && !empty($_REQUEST['endtime']))  ) {		//	$sqlDoctorTime .= " ";		//}		$sqlDoctorTime .= " order by sid desc";		$resDoctorTime = $SqlDB->Query($sqlDoctorTime);		$arrDoctorTime = $SqlDB->getRows($resDoctorTime);						for($i=0; $i<count($arrDoctorTime); $i++) {			$strSelectStatus = ""; //初始号源下拉值			$strSelectStatus  = "<select name=\"originalcounts\" id=\"originalcounts\">";			$strSelectStatus .= "<option value=\"1|".$arrDoctorTime[$i]['sid']."\" ";			if(trim($arrDoctorTime[$i]['original_counts']) == "1") $strSelectStatus .=  ' selected';			$strSelectStatus .= ">1</option>";			$strSelectStatus .= "<option value=\"2|".$arrDoctorTime[$i]['sid']."\" ";			if(trim($arrDoctorTime[$i]['original_counts']) == "2") $strSelectStatus .=  ' selected';			$strSelectStatus .= ">2</option>";			$strSelectStatus .= "<option value=\"3|".$arrDoctorTime[$i]['sid']."\" ";			if(trim($arrDoctorTime[$i]['original_counts']) == "3") $strSelectStatus .=  ' selected';			$strSelectStatus .= ">3</option>";			$strSelectStatus .= "<option value=\"4|".$arrDoctorTime[$i]['sid']."\" ";			if(trim($arrDoctorTime[$i]['original_counts']) == "4") $strSelectStatus .=  ' selected';			$strSelectStatus .= ">4</option>";			$strSelectStatus .= "<option value=\"5|".$arrDoctorTime[$i]['sid']."\" ";			if(trim($arrDoctorTime[$i]['original_counts']) == "5") $strSelectStatus .=  ' selected';			$strSelectStatus .= ">5</option>";			$strSelectStatus .= "<option value=\"6|".$arrDoctorTime[$i]['sid']."\" ";			if(trim($arrDoctorTime[$i]['original_counts']) == "6") $strSelectStatus .=  ' selected';			$strSelectStatus .= ">6</option>";			$strSelectStatus .= "<option value=\"7|".$arrDoctorTime[$i]['sid']."\" ";			if(trim($arrDoctorTime[$i]['original_counts']) == "7") $strSelectStatus .=  ' selected';			$strSelectStatus .= ">7</option>";			$strSelectStatus .= "<option value=\"8|".$arrDoctorTime[$i]['sid']."\" ";			if(trim($arrDoctorTime[$i]['original_counts']) == "8") $strSelectStatus .=  ' selected';			$strSelectStatus .= ">8</option>";			$strSelectStatus .= "<option value=\"9|".$arrDoctorTime[$i]['sid']."\" ";			if(trim($arrDoctorTime[$i]['original_counts']) == "9") $strSelectStatus .=  ' selected';			$strSelectStatus .= ">9</option>";			$strSelectStatus .= "<option value=\"10|".$arrDoctorTime[$i]['original_counts']."\" ";			if(trim($arrDoctorTime[$i]['original_counts']) == "10") $strSelectStatus .=  ' selected';			$strSelectStatus .= ">10</option>";			$strSelectStatus .= "</select>";		}	}	//医生排班列表结束		?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD><title></title><META http-equiv=Content-Type content="text/html; charset=gb2312"><LINK href="/css/admin.css" type="text/css" rel="stylesheet"></HEAD><script src="js/jquery-1.5.2.min.js" type="text/javascript"></script><script language="javascript" type="text/javascript" src="http://www.360gst.com/datepicker/WdatePicker.js"></script><script type="text/javascript">   	$(document).ready(function(){		  $('#originalcounts').change(function(){		alert("33333");		if(!confirm('确定提交')) return;		var p1 = $(this).val();		alert(p1);		$("#originalcounts").attr("disabled","disabled");		postdata(p1);		$("#originalcounts").attr("disabled","");	  });     	});    	function postdata(p1){		alert(p1);	alert("222");	  $("#loading").fadeOut("slow")	  $.ajax({		type: "POST",               		url: "ajax_changedoctorcount.php",              		data: "sid="+p1,    				beforeSend:function(XMLHttpRequest){			//$("#showResult").text("数据更新中,请稍后.......");			$("#showResult").html('<img  src="images/ajax-loader-eeeeee.gif" alt="php+jquery做onchange提交动作的问题,请人帮忙看看" >Loading...');  			//show loading images			//Pause(this,100000);  		},		success: function(msg){		  //ajaxCheckRes(msg);		  //alert(msg);		  //alert("11111111");		  //$("#showResult").html(msg);		  //$("#showResult").css("color","red"); 		  //$(Element).removeClass("loading");		  alert("message:"+msg);		  $("#showResult").hide();		  if( msg == "ok1" ) {			alert("数据提交成功"); //如果有必要,可以把msg变量的值显示到某个DIV元素中					  }		  		  if( msg == "error" ) {			  alert("订单编号丢失"); //如果有必要,可以把msg变量的值显示到某个DIV元素中		  }		  		  //无论Ajax是否成功执行都会触发的回调函数		  complete:function(XMLHttpRequest,textStatus){			  //隐藏正在查询图片			 //window.location.href = location.href;		  }		  window.location.href = location.href ;		  error: function() { alert("error"); }  		}     			  });	  	}		//异步处理返回数据	//function ajaxCheckRes(data){	//	document.getElementById(innerdiv).innerHTML = data;	//}		//重新加载页面	/*function getdigshtml() {		$.ajax({			type:'POST',			url:'customservice.php',			data:'',			success:function(msg){				$("#digg").html(msg);			}		})	}*/</script><script src="js/jquery-1.5.2.min.js" type="text/javascript"></script><BODY><TABLE cellSpacing=0 cellPadding=0 width="95%" align=center border=0>  <TR    style="max-width:90%">    <TD> </TD>  </TR></TABLE><table width="95%" align="center" border="0" cellpadding="0" cellspacing="1" bgcolor="b5d6e6">	<tr background="../images/bg.gif" bgcolor="#FFFFFF">		<th scope="row"  background="../images/bg.gif" bgcolor="#FFFFFF">开始时间:</th>		<td  background="../images/bg.gif" bgcolor="#FFFFFF">			<input id="starttime" onClick="WdatePicker()" type="text" name="starttime" class="textfield"><span style="color: #FF0000">(*)</span> 		</td>		<th scope="row"  background="../images/bg.gif" bgcolor="#FFFFFF">开始时间:</th>		<td  background="../images/bg.gif" bgcolor="#FFFFFF">			<input id="endtime" onClick="WdatePicker()" type="text" name="endtime" class="textfield" onfocus="WdatePicker()"><span style="color: #FF0000">(*)</span>		 		</td>	</tr>	<tr  background="../images/bg.gif" bgcolor="#FFFFFF">		<th colspan="4" scope="row">			<label>				<input type="submit" name="Submit" value="查询医生排期" />            </label>		</form>		</th>	</tr></table><TABLE cellSpacing=0 cellPadding=0 width="95%" align=center border=0>  <TR height=20>    <TD> </TD></TR></TABLE><table width="95%" align="center" border="0" cellpadding="0" cellspacing="1" bgcolor="b5d6e6" onMouseOver="changeto()"  onmouseout="changeback()">	  <tr>		<td width="8%" height="22" background="../images/bg.gif" bgcolor="#FFFFFF"><div align="center">1医生</div></td>		<td width="8%" height="22" background="../images/bg.gif" bgcolor="#FFFFFF"><div align="center">开始时间</div></td>		<td width="8%" height="22" background="../images/bg.gif" bgcolor="#FFFFFF" class="STYLE1"><div align="center">结束时间</div></td>		<td width="5%" height="22" background="../images/bg.gif" bgcolor="#FFFFFF"><div align="center">排期间隔</div></td>		<td width="5%" height="22" background="../images/bg.gif" bgcolor="#FFFFFF"><div align="center">初始号源数</div></td>		<td width="5%" height="22" background="../images/bg.gif" bgcolor="#FFFFFF"><div align="center">剩余号源数</div></td>		<td width="5%" height="22" background="../images/bg.gif" bgcolor="#FFFFFF"><div align="center">是否出诊</div></td>		<td width="5%" height="22" background="../images/bg.gif" bgcolor="#FFFFFF"><div align="center">类别</div></td>		<td width="4%" height="22" background="../images/bg.gif" bgcolor="#FFFFFF"><div align="center">操作员</div></td>		<td width="8%" height="22" background="../images/bg.gif" bgcolor="#FFFFFF"><div align="center">操作</div></td>	  </tr>	  <?=$strDoctorTime;?></table><?	}	?></BODY></HTML><?$SqlDB->Close();?>

回复讨论(解决方案)

id 重复了吧,贴出HTML源码出来看看。

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD><title>固生堂客服系统V1.0</title><META http-equiv=Content-Type content="text/html; charset=gb2312"><LINK href="/css/admin.css" type="text/css" rel="stylesheet"></HEAD><script src="js/jquery-1.5.2.min.js" type="text/javascript"></script><script language="javascript" type="text/javascript" src="http://www.360gst.com/datepicker/WdatePicker.js"></script><script src="js/jquery-1.5.2.min.js" type="text/javascript"></script> <BODY><TABLE cellSpacing=0 cellPadding=0 width="95%" align=center border=0>  <TR height="5">    <TD></TD></TR>  <TR height="22">    <TD style="PADDING-LEFT: 20px; FONT-WEIGHT: bold; COLOR: #ffffff" align="middle" background="/images/title_bg2.jpg">目前正在使用系统的工号:0017-万辉,  <A style="COLOR: #fff" onclick="if (confirm('确定要退出吗?')) return true; else return false;" href="/logout.php" target="_top">退出系统</A></TD></TR>    <TR height="10">    <TD></TD></TR></TABLE><TABLE cellSpacing=0 cellPadding=0 width="95%" align=center border=0>  <TR height=20>    <TD> </TD></TR></TABLE><TABLE cellpadding="0" cellspacing="1" width="95%" align="center" border="0">  <tr align="center">    <!--<td bgColor="#b1ceef" width="18%"><a href="customservice.php?Action=customerConsumption">客户消费</a></td>	<td bgColor="#b1ceef" width="25%"><a href="customservice.php?Action=searchcard">查询客户理疗卡信息</a></td>    <td bgColor="#b1ceef" width="20%"><a href="customservice.php?Action=createinvdusercard">虚拟卡客户开卡</a></td>	<td bgColor="#b1ceef" width="18%"><a href="customservice.php?Action=createusercard">用户调理次卡开卡</a></td>-->	<td bgColor="#b1ceef" width="25%"><a href="customservice.php?Action=doctortime">医生排期设置</a></td>  </tr></table> <!--医生排期设置开始--><TABLE cellSpacing=0 cellPadding=0 width="95%" align=center border=0>  <TR height="20">    <TD> </TD>  </TR></TABLE><table width="95%" align="center" border="0" cellpadding="0" cellspacing="1" bgcolor="b5d6e6">	<tr background="../images/bg.gif" bgcolor="#FFFFFF">		<th scope="row"  background="../images/bg.gif" bgcolor="#FFFFFF">开始时间:</th>		<td  background="../images/bg.gif" bgcolor="#FFFFFF">			<input id="starttime" onClick="WdatePicker()" type="text" name="starttime" class="textfield"><span style="color: #FF0000">(*)</span> 		</td>		<th scope="row"  background="../images/bg.gif" bgcolor="#FFFFFF">开始时间:</th>		<td  background="../images/bg.gif" bgcolor="#FFFFFF">			<input id="endtime" onClick="WdatePicker()" type="text" name="endtime" class="textfield" onfocus="WdatePicker()"><span style="color: #FF0000">(*)</span>		 		</td>	</tr>	<tr  background="../images/bg.gif" bgcolor="#FFFFFF">		<th colspan="4" scope="row">			<label>				<input type="submit" name="Submit" value="查询医生排期" />            </label>		</form>		</th>	</tr></table><TABLE cellSpacing=0 cellPadding=0 width="95%" align=center border=0>  <TR height=20>    <TD> </TD></TR></TABLE><table width="95%" align="center" border="0" cellpadding="0" cellspacing="1" bgcolor="b5d6e6" onMouseOver="changeto()"  onmouseout="changeback()">	  <tr>		<td width="8%" height="22" background="../images/bg.gif" bgcolor="#FFFFFF"><div align="center">1医生</div></td>		<td width="8%" height="22" background="../images/bg.gif" bgcolor="#FFFFFF"><div align="center">开始时间</div></td>		<td width="8%" height="22" background="../images/bg.gif" bgcolor="#FFFFFF" class="STYLE1"><div align="center">结束时间</div></td>		<td width="5%" height="22" background="../images/bg.gif" bgcolor="#FFFFFF"><div align="center">排期间隔</div></td>		<td width="5%" height="22" background="../images/bg.gif" bgcolor="#FFFFFF"><div align="center">初始号源数</div></td>		<td width="5%" height="22" background="../images/bg.gif" bgcolor="#FFFFFF"><div align="center">剩余号源数</div></td>		<td width="5%" height="22" background="../images/bg.gif" bgcolor="#FFFFFF"><div align="center">是否出诊</div></td>		<td width="5%" height="22" background="../images/bg.gif" bgcolor="#FFFFFF"><div align="center">类别</div></td>		<td width="4%" height="22" background="../images/bg.gif" bgcolor="#FFFFFF"><div align="center">操作员</div></td>		<td width="8%" height="22" background="../images/bg.gif" bgcolor="#FFFFFF"><div align="center">操作</div></td>	  </tr>	  <tr> <td height="20" bgcolor="#FFFFFF"><div align="center"><span class="STYLE1">131 </span></div></td><td height="20" bgcolor="#FFFFFF"><div align="center"><span class="STYLE1">2013-07-06 17:00:00 </span></div></td><td height="20" bgcolor="#FFFFFF"><div align="center" class="STYLE1"><div align="center">2013-07-06 17:30:00 </div></div></td><td height="20" bgcolor="#FFFFFF"><div align="center" class="STYLE1"><div align="center">30分 </div></div></td><td bgcolor="#FFFFFF"><div align="center"><span class="STYLE1"><select name="originalcounts" id="originalcounts"><option value="1|12572" >1</option><option value="2|12572" >2</option><option value="3|12572"  selected>3</option><option value="4|12572" >4</option><option value="5|12572" >5</option><option value="6|12572" >6</option><option value="7|12572" >7</option><option value="8|12572" >8</option><option value="9|12572" >9</option><option value="10|3" >10</option></select> </span></div></td><td bgcolor="#FFFFFF"><div align="center"><span class="STYLE1">5 </span></div></td><td bgcolor="#FFFFFF"><div align="center"><span class="STYLE1">0 </span></div></td><td bgcolor="#FFFFFF"><div align="center"><span class="STYLE1">1 </span></div></td><td height="20" bgcolor="#FFFFFF"><div align="center" class="STYLE1"><div align="center">0017 </div></div></td><td height="20" bgcolor="#FFFFFF"><div align="center"><span class="STYLE1"><a href="/appointment/customservice.php?Action=deldoctortime&doctorid=131">删除</a></span></div></td> </tr><tr> <td height="20" bgcolor="#FFFFFF"><div align="center"><span class="STYLE1">131 </span></div></td><td height="20" bgcolor="#FFFFFF"><div align="center"><span class="STYLE1">2013-07-06 16:30:00 </span></div></td><td height="20" bgcolor="#FFFFFF"><div align="center" class="STYLE1"><div align="center">2013-07-06 17:00:00 </div></div></td><td height="20" bgcolor="#FFFFFF"><div align="center" class="STYLE1"><div align="center">30分 </div></div></td><td bgcolor="#FFFFFF"><div align="center"><span class="STYLE1"><select name="originalcounts" id="originalcounts"><option value="1|12571" >1</option><option value="2|12571" >2</option><option value="3|12571" >3</option><option value="4|12571" >4</option><option value="5|12571" >5</option><option value="6|12571"  selected>6</option><option value="7|12571" >7</option><option value="8|12571" >8</option><option value="9|12571" >9</option><option value="10|6" >10</option></select> </span></div></td><td bgcolor="#FFFFFF"><div align="center"><span class="STYLE1">6 </span></div></td><td bgcolor="#FFFFFF"><div align="center"><span class="STYLE1">0 </span></div></td><td bgcolor="#FFFFFF"><div align="center"><span class="STYLE1">1 </span></div></td><td height="20" bgcolor="#FFFFFF"><div align="center" class="STYLE1"><div align="center">0017 </div></div></td><td height="20" bgcolor="#FFFFFF"><div align="center"><span class="STYLE1"><a href="/appointment/customservice.php?Action=deldoctortime&doctorid=131">删除</a></span></div></td> </tr></table> <!--医生排期设置结束--></BODY></HTML>

楼上的,html已经贴出了

id 重复了,当然不行!

$('#originalcounts').change 可以改成用 $('.originalcounts').change

原来的selct都加上一个属性class="originalcounts"

楼上的请问下,改成这样的是不是id重复了就没问题呢?

有问题啊,如果我的select的id都不一样,下面js里面的属性该怎么写呢?
$strSelectStatus  = "

版主,请问下我该怎么修改一下呢?

把事件绑定到 select 上就可以了
测试例

<script>$(function() {  $('select').change(function(){    alert(this.name + ':' + $(this).val());  });});</script><select name=s1><option><option>A<option>B</select><select name=s2><option><option>A<option>B</select><select name=s3><option><option>A<option>B</select>

好了,谢谢!

to 版主:能给我解释一下下面这段是什么意思吗?
 

  //异步处理返回数据     //function ajaxCheckRes(data){     //    document.getElementById(innerdiv).innerHTML = data;     //}           //重新加载页面     /*function getdigshtml() {         $.ajax({             type:'POST',             url:'customservice.php',             data:'',             success:function(msg){                 $("#digg").html(msg);             }         })     }*/

to 版主,新问题出来了,如果这个页面上有2个SELECT元素,点任何一个SELECT都会触发。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn