ホームページ  >  記事  >  バックエンド開発  >  PHPの条件で左側のレコード名をクリックすると、ページの右側に特定のコンテンツが表示されるようにするにはどうすればよいですか?

PHPの条件で左側のレコード名をクリックすると、ページの右側に特定のコンテンツが表示されるようにするにはどうすればよいですか?

WBOY
WBOYオリジナル
2016-06-23 14:17:491366ブラウズ

左側の列はmysqlからループ文で読み取って各行に表示したものです。右側は、各レコードの特定のコンテンツ フレーム (つまり、多くの空のボックス) です。私たちが達成したい目標は、左側のレコード名をクリックすると、右側の各空のボックスにレコードの特定の内容が表示されることです (実際には、各フィールドの内容が各空のボックスに入力されます)。 。
左側のレコード名をクリック可能にするには、どのような簡単なフレームワークを使用する必要がありますか?次に、レコードの読み取りを制御し、mysql から特定のレコード情報を読み取るためにどの変数が渡されますか (レコードの内容があれば、各空のボックスに表示するのは難しくないようです。この手順を完了できます)。もちろん、各レコードの具体的な内容はすでに mysql に存在するので、それをクエリするだけです。


ここにいる専門家の皆様、緊急の質問なので助けてください。ありがとう。


ディスカッションに返信(解決策)

ajaxでやってみよう

左側のレコード名をクリックすると、ajaxを使用してレコード名をバックグラウンドに送信し、対応するすべての情報をクエリします。戻った後、入力します。箱に入っています

返信ありがとうございます。

私は ajax の使用が初心者なのですが、重要な文や重要なポイントは何でしょうか? 考えるべきケースへのリンクもありますか?

ありがとうございます。

すぐにデモを書きます

よろしくお願いします。

デモアドレス http://www.colg.biz/demo/d1.php

コード

表示ページ

<?php	header("Content-Type:text/html;charset=utf-8");	mysql_connect('localhost','colg_demo','colg__');	mysql_select_db('colg_demo');	function getdata($sql)	{		$result=mysql_query($sql);		if($result)$count = mysql_num_rows($result);		for($i=0;$i<$count;$i++)		{			mysql_data_seek($result,$i);			$data[$i] = mysql_fetch_assoc($result);		}		return $data;	}	$data = getdata("select * from demo");	?><style type="text/css">	.left{float:left;width:100px;border:1px solid grey;height:300px;}	.right{float:left;width:800px;border:1px solid grey;height:300px;margin-left:15px;}	.left_button{margin:5px;border:1px solid #ccc;cursor:pointer;}	td{margin:1px;border:1px solid #ccc;}</style><script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script><script type="text/javascript">	$(document).ready(function(){		$(".left_button").click(function(){			$(this).css("background","#EEE");			$(this).siblings().css("background","white");			var n = $(this).text();			$.ajax({				type:"get",				url:"ajax.php",				data:{					n:n				},				success:function(msg){						msg = eval("("+msg+")")					$(".show_tr").html(msg);				}			});		});	});	</script><div class="left">	<?php foreach($data as $each){?>		<div class="left_button"><?php echo $each['col3'];?></div>	<?php } ?></div><div class="right">	<table>		<tr>			<td>id</td>			<td>col1</td>			<td>col2</td>			<td>col3</td>			<td>col4</td>		<tr>		<tr	class="show_tr">			<td> </td>			<td> </td>			<td> </td>			<td> </td>			<td> </td>		<tr>	</table></div>


処理リクエストページ
<?php	header("Content-Type:text/html;charset=utf-8");	mysql_connect('localhost','colg_demo','colg__');	mysql_select_db('colg_demo');	mysql_query("set names utf8");	function getdata($sql)	{		$result=mysql_query($sql);		if($result)$count = mysql_num_rows($result);		for($i=0;$i<$count;$i++)		{			mysql_data_seek($result,$i);			$data[$i] = mysql_fetch_assoc($result);		}		return $data;	}	if($_GET){		$n = $_GET['n'];		$data = getdata("select * from demo where col3 = '$n'");		if($data){			$html = "";			foreach($data[0] as $each){				$html .= "<td>".$each."</td>";			}		}		echo json_encode($html);exit;	}?>

ため息…アカウントとパスワードが漏洩してる…。 .

に変更してください

よろしくお願いします!


次の質問は、スコアをどのように与えるかです。ただのタイアップですか?


フォローアップの質問:


メイン プログラムとページ処理プログラムがあります。2 番目のページ処理プログラムは ajax.php であるはずです。 ajax.phpとプログラムを同じディレクトリに置くように変更する必要があるようですよね?

フォローアップの質問:


メイン プログラムとページ処理プログラムがあります。2 番目のページ処理プログラムは ajax.php であるはずです。 ajax.phpとプログラムを同じディレクトリに置くように変更する必要があるようですよね?

別のディレクトリにパスを記述するだけで済みます。「HTML パス」を調べてください。

専門家、ありがとうございます。これはまさに私が望んでいた効果です。


詳細はまた考えますので、何かありましたらお気軽にご教示ください。

私たちは皆、初心者です。もっとコミュニケーションを取りながら、一緒に学習を進めていきましょう。質問があれば、私の返信を引用していただければ、すぐにリマインダーを確認できます。 http://www.colg.biz/demo/d1.php

コード


表示ページ

<?php	header("Content-Type:text/html;charset=utf-8");	mysql_connect('localhost','colg_demo','colg__');	mysql_select_db('colg_demo');	function getdata($sql)	{		$result=mysql_query($sql);		if($result)$count = mysql_num_rows($result);		for($i=0;$i<$count;$i++)		{			mysql_data_seek($result,$i);			$data[$i] = mysql_fetch_assoc($result);		}		return $data;	}	$data = getdata("select * from demo");	?><style type="text/css">	.left{float:left;width:100px;border:1px solid grey;height:300px;}	.right{float:left;width:800px;border:1px solid grey;height:300px;margin-left:15px;}	.left_button{margin:5px;border:1px solid #ccc;cursor:pointer;}	td{margin:1px;border:1px solid #ccc;}</style><script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script><script type="text/javascript">	$(document).ready(function(){		$(".left_button").click(function(){			$(this).css("background","#EEE");			$(this).siblings().css("background","white");			var n = $(this).text();			$.ajax({				type:"get",				url:"ajax.php",				data:{					n:n				},				success:function(msg){						msg = eval("("+msg+")")					$(".show_tr").html(msg);				}			});		});	});	</script><div class="left">	<?php foreach($data as $each){?>		<div class="left_button"><?php echo $each['col3'];?></div>	<?php } ?></div><div class="right">	<table>		<tr>			<td>id</td>			<td>col1</td>			<td>col2</td>			<td>col3</td>			<td>col4</td>		<tr>		<tr	class="show_tr">			<td> </td>			<td> </td>			<td> </td>			<td> </td>			<td> </td>		<tr>	</table></div>


処理要求ページ
<?php	header("Content-Type:text/html;charset=utf-8");	mysql_connect('localhost','colg_demo','colg__');	mysql_select_db('colg_demo');	mysql_query("set names utf8");	function getdata($sql)	{		$result=mysql_query($sql);		if($result)$count = mysql_num_rows($result);		for($i=0;$i<$count;$i++)		{			mysql_data_seek($result,$i);			$data[$i] = mysql_fetch_assoc($result);		}		return $data;	}	if($_GET){		$n = $_GET['n'];		$data = getdata("select * from demo where col3 = '$n'");		if($data){			$html = "";			foreach($data[0] as $each){				$html .= "<td>".$each."</td>";			}		}		echo json_encode($html);exit;	}?>


完成させたいページでは、右側の空のボックスは基本的に空ですボックス (基本的にこのプログラムで示されているとおり) ですが、1 つの項目は単一オプション (入力フォーム、ラジオ方式を使用) です。マイページの基本的な機能は、右側の空のボックスで単一のオプションを選択し、右下の保存ボタンをクリックすると、レコードが mysql に保存され、新しいレコードが左側に表示されます。列(上記の機能は実装されています)。

ここで、左側のレコードをクリックすると、デモに示されているように、関連するコンテンツが表示されるはずですが (詳細はまだ学習中です)、右側の単一のオプションを表示するのは困難です。たとえば、データベースから 2 つのオプション (1 または 2) のいずれかの値を読み取った場合、その値を 1 つのオプションでどのように表現すればよいでしょうか (前の 1 つのオプションの前にある小さな円はすべて空洞だったためです)。オプションが選択され、小さな実線の円になります)?

よろしくお願いします。


右側の両方の項目を選択解除しますか?

それらの違いは、後者には選択された入力タグにchecked="checked"があることです

右側の両方の項目を選択解除しますか? それとも、左側をクリックした後にいずれか 1 つを選択しますか?

それらの違いは、後者には、選択された入力タグに selected="checked" のみがあることです

既存の入力フォームは大まかに次のとおりです。
form action="main/inputDriver.php" method="post">
81398dfa4c193106c9cf1549f6ffbac4 1 96ac42c95369ad8c9dbbd274b6bcc83a
94b3e26ee717c64999d7867364b1b4a3
// ここでは一部の書式設定を省略します
af14545fcca6888c47dc2ec991e5f2d3 2 96ac42c95369ad8c9dbbd274b6bcc83a
94b3e26ee717c64999d7867364b1b4a3
左側をクリックすると、右側にレコード情報が表示されます。右側の 1 つのオプション (2 つのオプションがあります) については、そのうちの 1 つが選択されていて、データがデータベースから取得されていることを願っています (1 または 2、2 つのオプションの値はフォームに設定します)。この質問をするときの主な懸念は、以前の入力フォームと矛盾しており、考慮に入れることができないことです。

質問したとき、自分が初心者すぎることが恥ずかしくなりました。

ajax を使用して「PHP ですべての HTML を返す」か、「PHP で配列を返し、js を使用して処理」しますか?

前者の場合、直接の出力は

form action="main/inputDriver.php" になります。 " method="post">
e388a4556c0f65e1904146cc1a846bee
81398dfa4c193106c9cf1549f6ffbac4 オプション 196ac42c95369ad8c9dbbd274b6bcc83a
94b3e26ee717c64999d7867364b1b4a3
// 一部フォーマット規則の一部はここでは省略されています
bf9447b1db7fdf0550d5cda46a0df0ae オプション 296ac42c95369ad8c9dbbd274b6bcc83a
このchecked=checked「どこに出現するか」をajaxが指すPHPプログラム内で判断して出力します

後者を使うと、jsが配列を処理する際に該当するフィールドを使って判断し、これをchecked=を追加します選択する必要があるものに「チェックを入れる」



Ajax を使用して「すべての HTML を返す」か、「PHP で配列を返し、それを処理するために JS を使用する」のですか?直接の出力は

form action="main/inputDriver.php" method="post">

81398dfa4c193106c9cf1549f6ffbac4 ;/input>
94b3e26ee717c64999d7867364b1b4a3
// 一部のフォーマット規則は省略されています
e388a4556c0f65e1904146cc1a846bee
00f0f6d41df2bf60a30dec5662cd4adb オプション 296ac42c95369ad8c9dbbd274b6bcc83a
94b3e26ee717c64999d7867364b1b4a3
これがどこにあるかを、ajax が指す php プログラムで判断して出力します

後者を使用する場合、js は配列を処理するときに判断する関連フィールドを選択し、選択する必要があるフィールドにこの selected="checked" を追加します。


お疲れ様です。

ここに深く感謝申し上げます。

你ajax采用"PHP返回全部HTML"还是采用"PHP返回数组用js来处理"?

如果是前者  直接输出为
form action="main/inputDriver.php" method="post">
e388a4556c0f65e1904146cc1a846bee
  1e32a4d39da01b66091ed22e3d921dba 选项一96ac42c95369ad8c9dbbd274b6bcc83a
94b3e26ee717c64999d7867364b1b4a3
// 其中一些格式规定,这里略去
e388a4556c0f65e1904146cc1a846bee
  719d2ad576c364a1c6b8d2c6c764a9ba 选项二96ac42c95369ad8c9dbbd274b6bcc83a
94b3e26ee717c64999d7867364b1b4a3
至于这个 checked="checked"出现在哪里,在ajax指向的php程序里判断和输出

如果采用后者,js处理数组时用相关字段进行判断并对需要选中的加上这个 checked="checked"即可.


结合我的问题,肯定是采用php返回数组的方式最好。
我仔细看了你的代码,在给你给出的demo中,是不是采用的是php返回全部html的方法?
如果我需要php返回数组的方式,那就需要demo部分中的程序,主要的是第二段程序中foreach循环该做如何细节改变呢?

呵呵,细节方面总是搞不出来。

demo地址  http://www.colg.biz/demo/d1.php

代码

显示页

<?php	header("Content-Type:text/html;charset=utf-8");	mysql_connect('localhost','colg_demo','colg__');	mysql_select_db('colg_demo');	function getdata($sql)	{		$result=mysql_query($sql);		if($result)$count = mysql_num_rows($result);		for($i=0;$i<$count;$i++)		{			mysql_data_seek($result,$i);			$data[$i] = mysql_fetch_assoc($result);		}		return $data;	}	$data = getdata("select * from demo");	?><style type="text/css">	.left{float:left;width:100px;border:1px solid grey;height:300px;}	.right{float:left;width:800px;border:1px solid grey;height:300px;margin-left:15px;}	.left_button{margin:5px;border:1px solid #ccc;cursor:pointer;}	td{margin:1px;border:1px solid #ccc;}</style><script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script><script type="text/javascript">	$(document).ready(function(){		$(".left_button").click(function(){			$(this).css("background","#EEE");			$(this).siblings().css("background","white");			var n = $(this).text();			$.ajax({				type:"get",				url:"ajax.php",				data:{					n:n				},				success:function(msg){						msg = eval("("+msg+")")					$(".show_tr").html(msg);				}			});		});	});	</script><div class="left">	<?php foreach($data as $each){?>		<div class="left_button"><?php echo $each['col3'];?></div>	<?php } ?></div><div class="right">	<table>		<tr>			<td>id</td>			<td>col1</td>			<td>col2</td>			<td>col3</td>			<td>col4</td>		<tr>		<tr	class="show_tr">			<td> </td>			<td> </td>			<td> </td>			<td> </td>			<td> </td>		<tr>	</table></div>


处理请求页
<?php	header("Content-Type:text/html;charset=utf-8");	mysql_connect('localhost','colg_demo','colg__');	mysql_select_db('colg_demo');	mysql_query("set names utf8");	function getdata($sql)	{		$result=mysql_query($sql);		if($result)$count = mysql_num_rows($result);		for($i=0;$i<$count;$i++)		{			mysql_data_seek($result,$i);			$data[$i] = mysql_fetch_assoc($result);		}		return $data;	}	if($_GET){		$n = $_GET['n'];		$data = getdata("select * from demo where col3 = '$n'");		if($data){			$html = "";			foreach($data[0] as $each){				$html .= "<td>".$each."</td>";			}		}		echo json_encode($html);exit;	}?>


你提供的这个demo还是非常具有启发性的。在结合我的实际编程时,出现了不少问题,主要有:
1. ajax.php回复的信息是从mysql数据库中读取一个记录各个字段内容所连成的一串string,这正好与你demo中比较简单的空框相吻合,结果很不错。而我这个页面右方,不仅有单选项,其他空框之间有文字(其实就是该空框内容的说明文字),而且还有很多格式设定的代码。为了达成前面输入表单的结果,空框里虽空,但里面实际上有代码,比如:
b6c5a531a458a2e790c1fd6421739d1c                        
  33a7a902d5f835c93249e6217a5ca91a
b90dd5946f0946207856a8a37f441edf

所以demo中采用全部html返回形式,我很难把内容分割开嵌入各个空框中。所以,今天试了很长时间,结论是采用JS数组把从mysql查询的内容进行返回,这是比较好的方式。但代码该如何变化呢?

2.上面的问题是主要问题,如果上面这个问题解决了,我就可以自己进行判断,并在单选项中采用check="checked"的方法解决了。

花了好长时间来试,最终总结为这个问题。呵呵,求助啊。

今天太晚了明天白天给你写.... 晚上的时间都给WOW了..

今天太晚了明天白天给你写.... 晚上的时间都给WOW了..

这里先谢谢了。

demo地址  http://www.colg.biz/demo/d1.php

表结构和内容



显示页面代码

<?php	//PHP区域	header("Content-Type:text/html;charset=utf-8");	mysql_connect('localhost','xxxxxx','xxxxxxxxxx');	mysql_select_db('xxxxxxxx');	function getdata($sql)	{		$result=mysql_query($sql);		if($result)$count = mysql_num_rows($result);		for($i=0;$i<$count;$i++)		{			mysql_data_seek($result,$i);			$data[$i] = mysql_fetch_assoc($result);		}		return $data;	}	$data = getdata("select * from demo");?><!--CSS区域--><style type="text/css">	.left{float:left;width:100px;border:1px solid grey;height:300px;}	.right{float:left;width:800px;border:1px solid grey;height:300px;margin-left:15px;}	.left_button{margin:5px;border:1px solid #ccc;cursor:pointer;}	td{margin:1px;border:1px solid #ccc;}</style><!--JS区域--><script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script><script type="text/javascript">	$(document).ready(function(){		$(".left_button").click(function(){			$(this).css("background","#EEE");			$(this).siblings().css("background","white");			var n = $(this).text();			$.ajax({				type:"get",				url:"ajax.php",				data:{					n:n				},				success:function(msg){						msg = eval("("+msg+")");	//将json字符串转化为js数组对象						$(".show_tr > td:eq(0)").text(msg.id);		//将数组的每个元素写到指定位置						$(".show_tr > td:eq(1)").text(msg.col1);						$(".show_tr > td:eq(2)").text(msg.col2);						$(".show_tr > td:eq(3)").text(msg.col3);						$(".show_tr > td:eq(4)").text(msg.col4);						var gender = msg.gender;						if(gender == 1){		//如果为男,第一个单选被选中							$(".show_tr > td:eq(5) > input[name='gender']:eq(0)").attr("checked","checked");						}else{				//如果为女							$(".show_tr > td:eq(5) > input[name='gender']:eq(1)").attr("checked","checked");						}				}			});		});	});	</script><!--html区域--><div class="left">	<?php foreach($data as $each){?>		<div class="left_button"><?php echo $each['col3'];?></div>	<?php } ?></div><div class="right">	<table>		<tr>			<td>id</td>			<td>col1</td>			<td>col2</td>			<td>col3</td>			<td>col4</td>			<td>性别</td>		<tr>		<tr	class="show_tr">			<td> </td>			<td> </td>			<td> </td>			<td> </td>			<td> </td>			<td><input type="radio" name="gender">男<input type="radio" name="gender">女</td>		<tr>	</table></div>




ajax接收处理页面代码
<?php	header("Content-Type:text/html;charset=utf-8");	mysql_connect('localhost','xxxxxxxx','xxxxxxxxx');	mysql_select_db('xxxxxxxx');	mysql_query("set names utf8");	function getdata($sql)	{		$result=mysql_query($sql);		if($result)$count = mysql_num_rows($result);		for($i=0;$i<$count;$i++)		{			mysql_data_seek($result,$i);			$data[$i] = mysql_fetch_assoc($result);		}		return $data;	}	if($_GET){		$n = $_GET['n'];		$data = getdata("select * from demo where col3 = '$n'");		echo json_encode($data[0]);exit;	}?>


返回数组用JS分析后插入指定位置 不管你是什么结构都可以实现 万变不离其宗

用ajax做吧

当你点击左侧的记录名时,将记录名用ajax传到后台去查询对应的全部信息 返回后填充至框框内

demo地址  http://www.colg.biz/demo/d1.php

表结构和内容



显示页面代码

<?php	//PHP区域	header("Content-Type:text/html;charset=utf-8");	mysql_connect('localhost','xxxxxx','xxxxxxxxxx');	mysql_select_db('xxxxxxxx');	function getdata($sql)	{		$result=mysql_query($sql);		if($result)$count = mysql_num_rows($result);		for($i=0;$i<$count;$i++)		{			mysql_data_seek($result,$i);			$data[$i] = mysql_fetch_assoc($result);		}		return $data;	}	$data = getdata("select * from demo");?><!--CSS区域--><style type="text/css">	.left{float:left;width:100px;border:1px solid grey;height:300px;}	.right{float:left;width:800px;border:1px solid grey;height:300px;margin-left:15px;}	.left_button{margin:5px;border:1px solid #ccc;cursor:pointer;}	td{margin:1px;border:1px solid #ccc;}</style><!--JS区域--><script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script><script type="text/javascript">	$(document).ready(function(){		$(".left_button").click(function(){			$(this).css("background","#EEE");			$(this).siblings().css("background","white");			var n = $(this).text();			$.ajax({				type:"get",				url:"ajax.php",				data:{					n:n				},				success:function(msg){						msg = eval("("+msg+")");	//将json字符串转化为js数组对象						$(".show_tr > td:eq(0)").text(msg.id);		//将数组的每个元素写到指定位置						$(".show_tr > td:eq(1)").text(msg.col1);						$(".show_tr > td:eq(2)").text(msg.col2);						$(".show_tr > td:eq(3)").text(msg.col3);						$(".show_tr > td:eq(4)").text(msg.col4);						var gender = msg.gender;						if(gender == 1){		//如果为男,第一个单选被选中							$(".show_tr > td:eq(5) > input[name='gender']:eq(0)").attr("checked","checked");						}else{				//如果为女							$(".show_tr > td:eq(5) > input[name='gender']:eq(1)").attr("checked","checked");						}				}			});		});	});	</script><!--html区域--><div class="left">	<?php foreach($data as $each){?>		<div class="left_button"><?php echo $each['col3'];?></div>	<?php } ?></div><div class="right">	<table>		<tr>			<td>id</td>			<td>col1</td>			<td>col2</td>			<td>col3</td>			<td>col4</td>			<td>性别</td>		<tr>		<tr	class="show_tr">			<td> </td>			<td> </td>			<td> </td>			<td> </td>			<td> </td>			<td><input type="radio" name="gender">男<input type="radio" name="gender">女</td>		<tr>	</table></div>




ajax接收处理页面代码
<?php	header("Content-Type:text/html;charset=utf-8");	mysql_connect('localhost','xxxxxxxx','xxxxxxxxx');	mysql_select_db('xxxxxxxx');	mysql_query("set names utf8");	function getdata($sql)	{		$result=mysql_query($sql);		if($result)$count = mysql_num_rows($result);		for($i=0;$i<$count;$i++)		{			mysql_data_seek($result,$i);			$data[$i] = mysql_fetch_assoc($result);		}		return $data;	}	if($_GET){		$n = $_GET['n'];		$data = getdata("select * from demo where col3 = '$n'");		echo json_encode($data[0]);exit;	}?>


返回数组用JS分析后插入指定位置 不管你是什么结构都可以实现 万变不离其宗


非常感谢。
是啊,正在学习“宗”,细节体会中。

外側のボックスが欠落している場合は、HTML 構造を注意深く観察し、変更する必要があるデータのみを変更しても、長さと高さ以外は絶対にボックスが消えることはありません。 CSS が


2 に制約されない問題。eq(2) は 3 つ目を探しています。これも正しく記述できますか?こんな感じです

var type = msg.type;
if(type == 1) { type']:eq(2)").removeAttr("checked");
}
else
{ "checked"," selected");
$(".show_1 > input[name='type']:eq(1)").removeAttr("checked");
}

また、type などのキー文字は読むのが怖い...この場所で問題がないといいのですが

外側のボックスが欠落している場合は、HTML 構造を注意深く観察し、変更する必要があるデータのみを変更しても、長さと高さ以外は絶対にボックスが消えることはありません。 CSS が


2 に制約されない問題。eq(2) は 3 つ目を探しています。これも正しく記述できますか?こんな感じです

var type = msg.type;
if(type == 1) { type']:eq(2)").removeAttr("checked");
}
else
{ "checked"," selected");
$(".show_1 > input[name='type']:eq(1)").removeAttr("checked");
}

また、type などのキー文字は使うのが怖い… こういうところで問題ないといいですね

よろしくお願いします。
最初のオプションには値 1 が割り当てられ、2 番目のオプションには値 2 が割り当てられます。あなたが与えたステートメントに従って実行したところ、結果は次のとおりです。値が 2 の場合は常に 2 つのオプションは空で、値が 1 の場合は 2 番目のオプションが選択されます(ただし、実際には 2 番目のオプションには次のオプションが含まれている必要があります)値 2) 。
詳細に間違いがあると思います 1. コードは次のとおりです (変数の型を driverType に変更しました):
var driverType = msg.type;
if(driverType == 1)
{ ; input[name=' type']:eq(1)").attr("チェック済み","チェック済み");
$(".show_1 > input[name='type']:eq(2)" ).removeAttr("チェック済み");
}
lse
{
$(".show_1 > input[name='type']:eq(2)").attr("checked","checked");
$(".show_1 > input[name='type']:eq(1)").removeAttr("checked");
}

2. ボックスが欠落している場合、操作の結果は次のようになります:

しかし、実際には、元のステータスは次のとおりです:

HTML 部分のコードは次のとおりです:
d986180a972d2dc3603c2ce1018687bb
bf0d52dfc09ac6c24f0d78b65d0afd0ce388a4556c0f65e1904146cc1a846beeドライバーの種類:128dba7a3a77be0113eb0bea6ea0a5d094b3e26ee717c64999d7867364b1b4a3b90dd5946f0946207856a8a37f441edf
f26a954e5cf2cfd1512cb3751bbc23d5 長い間96ac42c95369ad8c9dbbd274b6bcc83a
;

外側のボックスが欠落している場合は、HTML 構造を注意深く観察し、変更する必要があるデータのみを変更しても、長さと高さ以外は絶対にボックスが消えることはありません。 CSS が


2 に制約されない問題。eq(2) は 3 つ目を探しています。これも正しく記述できますか?こんな感じです

var type = msg.type;
if(type == 1) { type']:eq(2)").removeAttr("checked");
}
else
{ "checked"," selected");
$(".show_1 > input[name='type']:eq(1)").removeAttr("checked");
}

また、type などのキーの単語もそうです使うのが怖い... この場所で問題がないといいのですが


とてもめまいがします、最初の問題は解決されました。これは eq(0) と eq(1) である必要があります。 2つ目のデモですが、これはオプションに相当する値のことを指しているのかと思い、卒倒しました。元に戻りました。


この eq(n) は、0 から始まる、条件を満たす n 番目の項目を見つけることを指します。たとえば、81398dfa4c193106c9cf1549f6ffbac4 0 )、2 番目は eq(1) です
それは入力の値とは何の関係もありません
あなた: eq(2) が探しているのは 3 番目の項です そして 3 番目の入力がなければ、当然、それは見つかりません

2 つ目 おそらくあなたが元々意図していたボックスが入力されたのではないでしょうか? この HTML コードを見てください


jquery マニュアルが必要です

http://pan.baidu.com/share/link?shareid=1727812312&uk=3909167861

この eq (n) は、0 から始まる n 番目の項目を見つけることを指します。たとえば、81398dfa4c193106c9cf1549f6ffbac4 は eq(0) です。 、そして 2 番目 最初のものは eq(1) です

入力の値とは関係ありません
あなた: eq(2) は 3 番目の項を探していますが、3 番目の入力がなければ、当然見つかりません。

2番目のものは、あなたが最初に呼んだものかもしれません ボックスは入力されていますか? このHTMLコードを取り出して見てください


物事は緊急であり、私が言ったことはめちゃくちゃです。単一オプションの問題は解決されましたが、ボックスの問題は解決されていません。私も何がいけなかったのか分かりません。

jquery マニュアルが必要です

http://pan.baidu.com/share/link?shareid=1727812312&uk=3909167861

ありがとう、啓発されました。私はこの業界に入ったばかりなので、これが必要です。

この eq(n) は、0 から始まる n 番目の項目を見つけることを指します。たとえば、81398dfa4c193106c9cf1549f6ffbac4 は eq(0) です。 , そして 2 番目は eq(1) です
それはあなたの入力の値とは何の関係もありません
あなた: eq(2) は 3 番目の項を探しています、そして 3 番目の入力がなければ当然見つかりません

2 番目の人はあなたかもしれません。この HTML コードを見てください

0c681980a8ddbecdc3c2598f53c9d76f T & lt; ;" & gt;
& lt; tr valign = "middle" & gt;
& lt; td width = "128px" & gt; & lt; & lt; & lt; & lt; & lt; ; 強い & GT ; ドライバーの種類: & lt;/strong & gt; & lt;/td & gt; フォーム アクション = "main/inputdriver.php" & lt;
& lt; OW_1 "& gt;
& lt; 入力タイプ = "無線" 名前 = "タイプ" 値 = "1" & GT; 短時間 & LT;/入力 & GT;
& LT; 入力タイプ = " Radio" 名前 = "タイプ" 値 = "2" & GT; LONG 時間 & lt;/input & gt;
;/table>
gt;
名: & lt;/p & gt; /td & gt; < td クラス = "show_2" & gt;                                               
b90dd5946f0946207856a8a37f441edf      
fd273fcf5bcad3dfdad3c41bd81ad3e5
3627c81b0d028a8e95fd9569213bd611


e388a4556c0f65e1904146cc1a846bee姓:94b3e26ee717c64999d7867364b1b4a3
b90dd5946f0946207856a8a37f441edf

                       
                        
b90dd5946f0946207856a8a37f441edf                     
fd273fcf5bcad3dfdad3c41bd81ad3e5

3627c81b0d028a8e95fd9569213bd611

e388a4556c0f65e1904146cc1a846beeID 番号:94b3e26ee717c64999d7867364b1b4a3
b90dd5946f0946207856a8a37f441edf

                        
                        
b90dd5946f0946207856a8a37f441edf

fd273fcf5bcad3dfdad3c41bd81ad3e5

                    3627c81b0d028a8e95fd9569213bd611

e388a4556c0f65e1904146cc1a846beeモバイル:94b3e26ee717c64999d7867364b1b4a3
b90dd5946f0946207856a8a37f441edf

                       
bb3e7db4f7f295fc05a825b485d97055                                           
b90dd5946f0946207856a8a37f441edf
fd273fcf5bcad3dfdad3c41bd81ad3e5

3627c81b0d028a8e95fd9569213bd611

e388a4556c0f65e1904146cc1a846beeメール:94b3e26ee717c64999d7867364b1b4a3
b90dd5946f0946207856a8a37f441edf

                   
70b61603311f6f6fe4a2f678cf3207d7                                           
b90dd5946f0946207856a8a37f441edf     
fd273fcf5bcad3dfdad3c41bd81ad3e5
f16b1740fad44fb09bfe928bcc527e08

e171bb644b00ef18488eb407effa5417
a34de1251f0d9fe1e645927f19a896e8
 
e388a4556c0f65e1904146cc1a846bee
                           2936459d15a20a93391464ba3ff02155
                            94b3e26ee717c64999d7867364b1b4a3
                          b90dd5946f0946207856a8a37f441edf
                      fd273fcf5bcad3dfdad3c41bd81ad3e5
                   f16b1740fad44fb09bfe928bcc527e08
                   
                f5a47148e367a6035fd7a2faa965022e
                b90dd5946f0946207856a8a37f441edf    
               fd273fcf5bcad3dfdad3c41bd81ad3e5
             f16b1740fad44fb09bfe928bcc527e08
16b28748ea4df4d9c2150843fecfba68


これは、各ボックスの前後の内容を含む、この部分のコード全体です。
b6c5a531a458a2e790c1fd6421739d1cb90dd5946f0946207856a8a37f441edf には c5f07f931ba48cdd4c71e1f32916364d が含まれているので、ajax によって返された内容が入力されるのではないかと思います。b6c5a531a458a2e790c1fd6421739d1c... 以前は入力の境界線でしたが、現在は入力があなたに置き換えられています

解決策は 2 つあります。1 つは、入力の値に値を直接挿入することです

2 つ目は、入力のように記述することです。先ほどと同じように td に境界線を追加します

にコンテンツがある場合は、td.html(xxx) を厳密に記述する必要はありません。 td、それに応じて変更されます


以前は入力境界線がありましたが、現在は入力が置き換えられています

1 つは、値を入力値に直接挿入する方法です

そのまま書いてから td に境界線を追加して以前と同じようにします

あなたのために書かれた td.html (xxx) あなたの td にコンテンツがある場合、厳密に書く必要はありません。それに応じて変更されます

入力の値に値を挿入します。これはどのように変更すればよいですか?

あなたは、「あなたのために書かれた td.html(xxx) は、このように厳密に書く必要はありません。あなたの td にコンテンツがあれば、それに応じて変更されます。」と言いました。実際、それは td だけができるわけではないことを意味します。 e388a4556c0f65e1904146cc1a846beedc6dce4a544fdca2df29d5ac0ea9906ba34de1251f0d9fe1e645927f19a896e8のように使えますか? このように使えますか?

あと、デモを見て $(".show_6").text(..) も使いましたが、ajax で $.post() 関数がある場合は $(" # show_6").text(..)、この 2 つの .show_6 と #show_6 を混在させることはできませんね。

この質問は今まで行われていませんでした、ありがとうございます。


これまでは入力の境界線でした。今は入力が置き換えられています。 1 つは入力の値に直接挿入する方法です。 2 つ目は、次の方法です。そのままにして、td に境界線を追加します。以前と同じように見えます

私があなたのために書いた td.html(xxx) は、td にコンテンツがある場合は厳密に記述する必要はありません。応じて変更してください

入力の値に値を挿入します。これはどのように変更すればよいですか?

あなたは、「あなたのために書かれた td.html(xxx) は、このように厳密に書く必要はありません。あなたの td にコンテンツがあれば、それに応じて変更されます。」と言いました。実際、それは td だけができるわけではないことを意味します。 e388a4556c0f65e1904146cc1a846beedc6dce4a544fdca2df29d5ac0ea9906ba34de1251f0d9fe1e645927f19a896e8のように使えますか? このように使えますか?

あと、デモを見て $(".show_6").text(..) も使いましたが、ajax で $.post() 関数がある場合は $(" # show_6").text(..)、この 2 つの .show_6 と #show_6 を混在させることはできませんね。

この質問は今までありました、ありがとうございます。

$.ajax() を使用する場合、塗りつぶす領域は class=".." でマークされ、$.post() を使用する場合は id=".." でマークされます。これら 2 つのマーキング方法を混合できますか?または、$.ajax() は $("#show_6").text(..) を使用することもできますが、この場合は id=".." でマークする必要がありますか?


これらは単なるセレクターです。

たとえば、 $(".show_tr > td:eq(1)")


td の中に入力があり、入力を乱暴に置き換えることはできません

$(".show_tr > td:eq(1) >input").val(msg.col1); のように書くことができます

まずは jquery オプションを試してみてください。このツールは非常に柔軟で、さまざまな方法で使用できます

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。