2017-07-09 26 views
0

私は、ドロップダウンリストの私のページの一番下にあるドロップダウンリストが選択された値を更新されていません(SemanticUI)

<div class="ui dropdown"> 
    <input type="hidden" name="gender"> 
    <i class="dropdown icon"></i> 
    <div class="default text">Gender</div> 
    <div class="menu"> 
    <div class="item" data-value="male">Male</div> 
    <div class="item" data-value="female">Female</div> 
    </div> 
</div> 

ためSemanticUIを使用しています、私は

jQuery(document).ready(function($) { 
    $('.ui.dropdown') 
    .dropdown() 
; 
}); 

問題としてそれを初期化していますユーザーがアイテムを選択すると、アイテムは更新されず、選択されたままの状態でデフォルト値が表示され続けます。 しかし、Chrome Consoleにアクセスして上記のコードJQuery(ドキュメント)を実行すると、正常に動作します。

ページロードが完了した後に初期化を実行する必要があると仮定しています。だから私がしたのは、上記の代わりに以下のものです:

window.addEventListener("load", function(){ 
jQuery(document).ready(function($) { 

    $('.ui.dropdown') 
    .dropdown() 
; 
}); 
});; 

それは働いた。ドロップダウンリストは即座に選択内容を更新します。しかし、Submitをクリックすると、Iとページがリロードされ、選択が失われます。 ドロップダウンがテーブルのフィルタとして使用されています。サブミット時に選択が失われると、フィルターを使用できなくなります。

これを回避する最良の方法は何ですか。

+0

が –

+0

おかげウォーリーのオートコンプリートでプレーンなHTMLを使用しているので、オートコンプリート属性は必須ではありません。私はそのアイディアを得られなかった。私は、その構造を変更する能力を超えた、複雑なスクリプトへのインタフェースを変更していることに注意してください。私がここでやったのは、CSSクラスを変更してドロップダウンを初期化して、セマンティックUIをドロップダウンしたように見せかけることでした。あなたのポイントを正しく理解していれば、スクリプトが選択した値をどのように読み取るかについてさらに変更が必要になることがあります。ありがとう –

答えて

0

AJAXを使用してフォームを送信すると、ページが更新されません。

+0

初心者のために申し訳ありません。私はフォーム

を持っていますが、AJAXをどのように使っていますか?ありがとう –

+0

フォームを送信するためのajaxチュートリアルがたくさんあります。あなたがそれらについて勉強し、後で特定の質問をした方が良いでしょう。 – Difster

0

<select> 
 
    <option value="male">Male</option> 
 
    <option value="female">Female</option> 
 
</select>

余分なjsのない、CSSが必要な、

編集:それはデフォルト

+0

ありがとうWalle。これはSemanticUIを使う前に私が現在持っているものです。私はSemanticUIを使用する必要があります。そのためには、問題の原因となるCssとJSを追加する必要があります。ありがとう –

+0

なぜあなたはセマンティックUIを使用するように強制しますか? –

関連する問題