1

HTML ページにドロップダウン ボックスがあり、ドロップダウン リストを元の状態にリセットする必要があります。私のコードスニペットは次のとおりです。

<div id="countries" >
 <!---------------I select a particular module----------------->
     <select id="modules" onchange = "getRole()"> <!--Function getRole() called here-->
                <option>---Select---</option>
                <option value="1">Module1</option>
                <option value="2">Module2</option>
                <option value="3">Module3</option>
                <option value="4">Module4</option>
        </select>
  <!-Based on the modules some processing is done and countries are displayed->
     <select multiple="multiple" id="country" name="country[]">

            <option value="1">India</option>
            <option value="2">USA</option>
            <option value="3">Russia</option>

       </select> 
</div>

いくつかの処理を行った後、ドロップダウン メニューをリセットする必要があります

つまり、ドロップダウンを使用してすべての処理を行った後、元の状態に戻す必要があります。

私は .clone() を使用していますが、それは機能していないようです。

function getRole() {
    //CLone the id 'countries'
    var cloneobj = $('#countries').clone();

    //Some processing here
    ....

    //After processing get back the original state
    $('#countries').replaceWith(cloneObj);
}

ここでの問題は、クローンが重複した ID を作成しているため、dosent が適切な解決策であるように思われることです。誰でも助けることができます。お願いします

4

2 に答える 2

1

まず、#IDを提供します

var cloneobj = $('#countries').clone();

そして試してみてください

$('#countries').replaceWith(cloneObj);

Javascript では関数の大文字と小文字が区別されます !!!

clone()とは異なりClone()ます。

更新 2

私はあなたを捕まえました:あなたは</select>タグとコメントの問題を見逃しています

<div id="countries" >
 <!---------------I select a particular module----------------->
     <select id="modules" onchange = "getRole()"> <!--Function getRole() called here-->
                <option>---Select---</option>
                <option value="1">Module1</option>
                <option value="2">Module2</option>
                <option value="3">Module3</option>
                <option value="4">Module4</option>

     </select> <!-- Here you forgot -->

  <!--Based on the modules some processing is done and countries are displayed !. You forgot one `-` -->
     <select multiple="multiple" id="country" name="country[]">

            <option value="1">India</option>
            <option value="2">USA</option>
            <option value="3">Russia</option>

       </select> 
</div>

更新 3

jquery イベントを使用した私の例を参照してください: http://jsfiddle.net/6WLVC/

それでも、タグでイベントをgetRole()使用してもまだ機能しない理由はわかりません。onchangeselect

jQuery関数は$(function(){ ... });初期化でのみ機能するようです。

于 2012-09-19T11:34:22.640 に答える
0

clone()大文字と小文字を区別する)を使用し、 id hash #を使用し、正しいオブジェクトを使用して置換を行う必要があると思います。(複製されたオブジェクトを保存し、未定義のcloneobj使用を置き換えます (大文字と小文字を区別します!)cloneObj

オプションを複製して、次のように置き換えます。

function getRole() {
    //Clone the id 'countries'
    var clonedObj = $('#countries').clone();

    //Some processing here
    ....

    //After processing get back the original state
    $('countries').replaceWith(clonedObj);
}
于 2012-09-19T11:37:06.247 に答える