私はCodeIgniterを使用して自分のサイトを再構築しています。私は現在、サインアップページを作成しており、動的なドロップダウンを行う最も効率的で戦略的な方法を探しています。これは嚢胞性線維症の社会的ネットワークです。つまり、登録するときにCFとの関係を尋ねるドロップダウンがあります。CodeIgniterで動的なドロップダウンを作成する方法は?
2つのオプションがあります:1.私はCFと2を持っています。私が知っている人はCFを持っています。私はあなたが1を選択すると、新しいドロップダウンがここ2
ためのオプションが表示され、同じ場所にそれを作るために望んでいコントローラのコードです:
function relation_dropdown($relation="relation", $top_relations=array()) {
$relations = array(
"choose"=>"Choose One",
"I have CF"=>"I have CF",
"Someone I know has CF"
);
$html = "<select name='{$relation}'>";
if(!empty($top_relations)){
foreach($top_relations as $value){
if(array_key_exists($value, $relations)){
$html .="<option value='{$value}'>{$relations[$value]}</option>";
}
}
$html .="<option>----------</option>";
}
foreach($relations as $key => $relation){
$html .="<option value='{$key}'>{$relation}</option>";
}
$html .="</select>";
return $html;
}
とビューの形式:
<div id="signup_form">
<?php
echo validation_errors();
echo form_open('general/send?');
echo "<div class='form_text'>First Name</div>";
echo form_input('first_name');
echo "<div class='form_text'>Last Name</div>";
echo form_input('last_name');
echo "<div class='form_text'>Email</div>";
echo form_input('email');
echo "<div class='form_text'>Confirm Email</div>";
echo form_input('confirm_email');
echo "<div class='form_text'>Password</div>";
echo form_input('password');
echo "<div class='form_text'>Confirm Password</div>";
echo form_input('confirm_password');
echo "<div class='dropdown_structure'>";
echo "<div class='form_text'>";
echo "Location";
echo "</div>";
echo country_dropdown('country');
echo "</div>";
echo "<div class='dropdown_structure'>";
echo "<div class='form_text'>";
echo "Relation To CF";
echo "</div>";
echo relation_dropdown('relation');
echo "</div>";
echo form_close();
?>
</div>
私の質問はこれを行うための最善の方法です。あなたは、ユーザーが作成する必要があり、複数の意思決定を持っている場合は、事前
'これは2番目のドロップダウンのデータを返す2番目のコントローラが必要です'必要ではなく、別のコントローラのメソッドで十分です –
正しいです。私は個人的には、ページを出力するコントローラとAJAX応答に使用されるコントローラを分けることを好みますが、これは必須ではありません。 – minboost
私はあまりにも、しかし、私は別のページで10異なるAjax要求をする必要がある場合、それのための10コントローラを作ることは残酷です。アプリケーションが多くのajax呼び出しを必要とする場合は、通常はそれらを「ajaxコントローラ」にグループ化します。そうでない場合は、現在のページのコントローラのメソッドを使用します(要求が実際にajaxであるかどうかも確認します)。 –