ホームページ >バックエンド開発 >PHPチュートリアル >チェックボックスで選択された値を取得するにはどうすればよいですか?

チェックボックスで選択された値を取得するにはどうすればよいですか?

DDD
DDDオリジナル
2016-06-20 12:44:241395ブラウズ



これはトップページで、「部署名」と「副氏名」は別のページからjqueryで取得したデータで、返されるのは下のチェックボックスです。このページからは js を使用してこれらのチェックボックスを見つけることができないようです。そのため、php を使用する必要がありましたが、これはコードの一部です。 user は の名前です。チェックボックス。

$user=$_POST['user'];
$arr=array();
$darr= array_diff($arr,$user); ); if(!empty($ user)){
for($ i< count($ user); $ i ++){)
]。 '".$user[$i]."'");

for ($j=0;$j<=count($darr);$j++)
{ ); if($darr[$j]==$rowf['uid'])
unset($darr[$j]); se
$db->query( "メンバーの更新セット fuchu='0 ' where uid='".$darr[$j]."'"); 選択されていないチェックボックスを区別します。しかし、何度も試しましたが、主な問題は、$_POST['user'] が選択されているかどうかに関係なく、クリックされたデータを返すことです。この場合、選択を解除することはできません。チェックされていないデータ?

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

データの送信方法を識別するための HTML コードを投稿してください

または print_r($_POST) 結果を投稿してください




データの送信方法を識別するための HTML コードを投稿してください

または結果を print_r($_POST) して投稿してください




print_r($_POST); 表示される結果は 2 つの select の値であり、役に立ちません。
Array ([出発] => 2 [府中] => 112 [送信] => Submit )

これはチェックボックスを取得するための jquery コードです
//city onchange
$('#府中').change(function() { $.get("getDepart.php", {category:'user', city:city,province:province}, function(data) { //アラート(データ); }); $sql="select * from members left join userclass on members.flag=userclass.flagid where amidright=4 and groupid=".$_REQUEST['province'];
$ result=$db->query($ sql); etch_array($result) ) {
if($row['府中']==$_REQUEST['city']){
$str.= $row['ユーザー名'];
$str.= "< input type='checkbox' id='user' selected='true name='user[]' value=".$row['uid' ]。 "&gt;&nbsp;"; $ row ['username'];

提出データ配列にユーザ項目がありません([出発] => 2 [府中] => 112 [提出] => Submit)
提出されていないので当然出来ません処理済み

#2 下の部分は、チェックボックス文字列を生成するための PHP のコードにすぎません。チェックボックスを


< の形式に配置する必要があるという意味ではありません。 🎜>Submitted データ配列にユーザー項目がありません ( [部署] => 2 [府中] => 112 [提出] => Submit )

は提出されていないので当然処理できません

# 2 下の部分は、PHP がチェックボックス文字列を生成するためのコードに過ぎません。チェックボックスを


の形式に配置する必要があるという意味ではありません。では、なぜ print_r なのか($user) と print_r( $darr) にはデータがありますか?


提出されたデータ配列にユーザー項目がありません ([出発] => 2 [府中] => 112 [提出] => 提出)

送信されていない場合は当然処理できません

#2 下の部分は PHP がチェックボックス文字列を生成するコードだけです フォームにチェックボックスを入れなければならないというわけではありません。


この種のページ形式を使用するより適切な方法は何ですか?

送信されたデータの使用方法は次のとおりです: $user=$_POST['user'];

If print_r($_POST) は Array ( [出発] => 2 [府中] => 112 [送信] => 送信 )
$user はどのように使用しますか? ? ?


送信されたデータは次のように使用されます: $user=$_POST['user'];

If print_r($_POST);出発] => 2 [府中] => 112 [送信] => 送信 )
$user はどのように使用しますか? ? ?


私のコードは if(isset($_POST['user']) にあり、内部のコードは実行できます


送信されたデータは次のように使用されます: $user=$_POST['user'];

If print_r($_POST); は Array ( [出発] => 2 [府中] => 112 [送信] ] => 送信 )
$user はどのように使用しますか?


チェックボックスを選択した後にのみコンテンツが表示されます:
Array ( [ 1] => 117 ) Array ( [出発] => 2 [府中] => 112 [ユーザー] => Array ( [0] => 124 ) [送信] => 送信 )


送信されたデータは次のように使用されます: $user=$_POST['user'];

If print_r($_POST); は Array ( [出発] => 2 [府中] => 112 [送信] => 送信 )
$user はどのように使用しますか?


選択すると応答がありません。
チェックボックスが選択されていない場合、送信されません。

つまり、$_POST['user'] に値があるかどうかを個別に処理する必要があります。



チェックボックスが選択されていない場合、送信されません

言い換えると、$_POST['user'] に値があるかどうかを個別に処理する必要があります


しかし、array_diff ステートメントを使用した後の結果は私が望んでいたものではありません。何が問題だったのかわかりません。助けてください。

$darr= array_diff($arr,$user) という意味です。 ); これは?

$arr は空の配列です。$user 配列に要素がいくつあっても、

$darr は空の配列です。なぜこれを行う必要があるのか​​わかりません。


$darr= array_diff($arr,$user);

$ に要素がいくつあっても、$arr は空の配列です。ユーザー配列

$darr これは空の配列ですが、なぜこれを行うのかわかりません



メソッドを変更して、チェックボックスをバックグラウンドから取得する代わりにフロントデスクに書き込みました。

$("#btnSubmit").bind という問題が発生しました。 ( "クリック", function () {
var result = new Array();

$("[name = user]:checkbox").each(function () {
if ( $ (this).is(":checked")) {
); ("#hdtxt").val(result.join(",")); // アラート($("#hdtxt").val());
alert(userid) });

この選択は応答しません。これはなぜですか?上記の $userid をエコーすると、値があることがわかります。 $userid を数値に変更して機能する場合、何が起こっているのでしょうか?




$darr= array_diff($arr,$user); ということですか?
$user 配列に要素がいくつあっても、$arr は空の配列です。
$darr は空の配列です。なぜこれを行う必要があるのか​​わかりません。

助けてください。このプロジェクトの最後の問題は別の方法で解決されましたが、$_GET の変数を jquery に代入できない理由がまだわかりません。

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