2012-04-18 5 views

答えて

0

あなたはこのようにjQueryを使用することができますjavascriptを使用してクライアント側でそれを行う必要がある場合:あなたは私はあなたを助けることができないのRuby on Railsで、サーバー側でこれを実行する必要がある場合は

var arr = $('[type=checkbox]:checked'); 

。しかし、チェックされたチェックボックスだけがGETまたはPOSTでサーバーに返送されることを知っています。したがって、これらのチェックボックスの名前を知っていれば、リクエストオブジェクトから取得して配列に入れることができます。チェックされていないチェックボックスは決してサーバに到達しないので、明示的に無視する必要はありません。

0

あなたはこのような何かをした場合:[ユーザーと呼ばれるPOSTの配列になります提出されたユーザによってチェックされているどのようなチェックボックス

<input type='checkbox' name='User[]' VALUE='someVal'>Visible Text</option> 

名前に[]を追加すると、送信時に配列が作成されます。

これは、Rubyのレールではなく、PHPでこれを行うのは間違いです。フォームが送信されたときにユーザーが配列をサーバーに渡したとき。私たちはチェックボックスの名前をUserとし、投稿された配列はUserと呼ばれます。 PHPで私はこのような投稿を配列取得:

print_r($HTTP_POST_VARS["User"]); 

を、これはそうのような配列を出力します

Array ([0] => Me [1] => You [2] => SomeoneElse) 

配列内のデータのすべてがチェックチェックボックスでした。あなたはこのことができます

foreach (​​​​​​​ $HTTP_POST_VARS["User"] as $key => $value) { $key is 0, $value is Me. and so on } 

希望を行うことができます -

+0

なので、特定のアクション(特定の属性ユーザーをチェックする)でこの配列をループしたい場合、どうすれば入手できますか? –

+0

ruby​​ on railではなくphpでこれを行うのは間違いです。フォームが送信されたときにユーザーが配列をサーバーに渡したとき。私たちはチェックボックスの名前をUserとし、投稿された配列はUserと呼ばれます。 PHPで私はこのように投稿された配列を取得します:print_r($ HTTP_POST_VARS ["User"]); Array([0] => Me [1] => You [2] => SomeoneElse)の配列のすべてのデータがチェックチェックボックスになっています。 foreach($ HTTP_POST_VARS ["User"]を$ key => $ value){あなたのコード}とすることができます – knittledan

0

$_POSTをすでにformセット内のすべての配列です。これを使用して、「特定の操作」をチェックボックスに入力します。何らかの理由で、あなたは別の変数内の情報が必要な場合は、単にループ$_POSTを通って、そのような別の変数にそれを置く:

while ($row = $_POST) { 
    $new_var[] = $row[0]; 
} 

新しい/異なる配列に入れてあなたのために働く必要があることが、率直に言って、私はすでにそれが配列なので、その点は見ません。

$ _POSTの配列がどのようになっているかを理解する限り、var_dump()と表示されています。チェックボックスの名前は[]になり、値は=>の後に表示されます。したがって、入力の名前がname=box1で、値がvalue=1の場合、$_POSTの観点からは配列は[box1] => 1のようになりますので、このセクションを$foo = $_POST['box1']のように具体的に呼び出すことができ、$fooの値はbox1の値になります。それを呼び出すことで、あなたが望むものを(新しい変数に入れるのではなく)それを使って行うことができます。

関連する問題