ここでは、私が従ったチュートリアルのdemoですが、例外的にcodeigniterには含まれていないので、再読み込み時に再生成されません。Repopulating Jquery multiple selection box?
私はcodeigniterを使用しています。エラーがある場合はフォームの値を再設定できます。したがって、送信時にエラーが発生した場合、フォームはリロードされ、同じ値を保持します「.city)は表示されません....
最後のコードで//.country & .city are slection box, once .country is select it will display
// .city and the country cities.
jQuery(document).ready(function(){
jQuery(".country").bind("change click", function(){
var country = jQuery(".country").val();
jQuery.ajax({
type: "POST",
url: "/get/locations",
data: ({country : country }),
beforeSend: function(){ jQuery("").show(); }, //this is to load an effect (I have empty it for now)
complete: function(){ jQuery("").hide(); },
success: function(response){
jQuery(".city").html(response);
if(country=== '0'){
//The default (<option value="0">Select</option>
jQuery(".city").hide();
} else{
jQuery(".city").show();
}
}
});
}).trigger("change");
『トリガー(』変更」)」、我々はページ上のjqueryのをリロードしてくださいがチェックされ、例えば、値2(国Xもしそうなら)がCIによって再徴収された場合、変更またはクリックすることなく国Xの都市が表示されます。
codeigniterが.cityの選択を再入力できないことを除いて、すべてが完全に動作しています。 文書が準備されると値が取得されるので、& codeigniterはおそらく.city選択ボックス内の空白の値を表示します。
jqueryで.cityを再作成したり、エラーがある場合にコードを再入力する方法はありますか?
HTMLを見ることができる方法の例:
<select class="country">
<option value="0">Select</option>
<option value="1"> USA </option>
</select>
<select class="city" style="display:none;" >
</select>
これはエラーbeforeSendを生成します:function(){jQuery( "")。show(); }、 完了:function(){jQuery( "")。hide(); }、 'セレクタがないか、セレクタが空であるため、スクリプト全体がうまく動作せず、' attr( 'selected'、 'selected') 'と' attr( 'selected'、 '') 'がトリック – Val
@Valあなたはどういう意味ですか?カントリーセレクタがあり、 "url:"/get/locations "から結果を取得した後に都市セレクタが表示されます。私はそれを確認します。 –