0

私は小さなアプリを作成しています。アプリの一部で、配列からの値が取り込まれるドロップダウン選択メニューを作成しています。

私が抱えている問題は、フォームが読み込まれると、選択オプションに配列値が正常に読み込まれ、入力されることですが、別の要素を配列に追加してフォームを再度呼び出すと、値のみが読み込まれるという問題がありますフォームが最初に呼び出されたときから。

送信ボタンを押したときに選択オプションの値をクリアするにはどうすればよいですか。呼び出されるコードは次のとおりです。

<div class="popupForm" id="newRelate_Form" style="display:none">
    <form name="relationFormOne">
        <script type="text/javascript" language="javascript">
            var $selectFrom = $('<select id="mySelect">');
            $($selectFrom).attr('id', 'objFrom');
            for (var i = 0; i < objectArray.length; i++)
            {
                var value = objectArray[i].Name;
                $('<option>').val(value).text(value).appendTo($selectFrom);
            }
            $selectFrom.appendTo($("#from_Object"));
            var fromVal = document.getElementById("objFrom");
        </script>
        <button class="closeDOMWindow" onclick="createObj(fromVal.options[fromVal.selectedIndex].text)">Create</button>
    </form>

次に、値が関数 createObj() に渡されます。

function createObj()
{
    /*
        DO THE WORK NEEDED
    */
}

次に、選択オプションをクリアして、再度呼び出されたときに配列に配置された新しいオブジェクトを再設定できるようにするJavaScriptコードは何ですか?

フィードバックをお寄せいただきありがとうございます。

ところで、ポップアップ フォームは、次の jquery プラグインを使用しているという事実を指しています: DOM Window

フィードバックをお寄せいただきありがとうございます。

4

3 に答える 3

1

プレーンな JavaScript:

var ob = document.getElementById('selectID');
while (ob.hasChildNodes())
    ob.removeChild(ob.firstChild);

jQuery:

$('#mySelect').children().remove()
于 2012-04-21T12:00:50.803 に答える
0

を使用して以前に作成した選択タグを削除してから、関数を実行することを忘れないでください$('#mySelect').remove()

于 2012-04-21T12:15:13.183 に答える
0

First of all, the best way to add a piece of html is to write it from string:

<form id="relationFormOne">

<script type="text/javascript" language="javascript">
$(function(){
var objectArray = [{Name:'1'},{Name:'2'},{Name:'3'}];
var selectHtml = [];

$('#relationFormOne').append($('<select name="mySelect">'));

$(objectArray).each(function(ix, val){
    selectHtml.push('<option>'+val.Name+'</option>');
});
$('select[name=mySelect]').html(selectHtml.join(''));
}); 
</script>

<input type="button" value="clear" onclick="$('select[name=mySelect]>option').remove()" />
</form>

When you want to clear your select just use the code like the following:

$('#mySelect>option').remove();
于 2012-04-21T12:21:07.047 に答える