2008-09-11 15 views
1

ヘルプ!私は、JQueryを使用して、AJAXコールを作成して、ユーザーの以前の入力(別のドロップダウンから、サーバー側で満たされている)からドロップダウンを動的に入力しています。 Firefox(IE6/7、Opera、Safari)以外のすべてのブラウザでは、私の追加呼び出しは、私の既存のオプションである「選択」の下に実際に情報を追加します。しかし、Firefoxでは、JQueryアクションを.appendまたはreplace(.html())に指定するかどうかにかかわらず、selectコントロールに与えられた最後のアイテムを自動的に選択します。AJAXのドロップダウン(HTMLセレクト)

<select name="Products" id="Products" onchange="getHeadings(this.value);"> 
<option value="">Select Product</option> 
</select>  

function getProducts(Category) 
    { 
     $.ajax({ 
       type: "GET", 
       url: "getInfo.cfm", 
       data: "Action=getProducts&Category=" + Category, 
       success: function(result){ 
       $("#Products").html(result); 
       } 
      }); 
    }; 

どのような考えですか?私は過去に別のブランクの最初のオプションを送信してから、最初のインデックスを再選択するためのjavascriptオプションをトリガーしようとしましたが、これはコードでonChangeイベントをトリガーします。


アップデート:ここで

スクリプトが

<option value="3">Option 1</option> 
<option value="4">Option 2</option> 
<option value="6">Option 3</option> 

オプションを返すものの例ですが、()メソッドの代わりに、.append()の.htmlを使用している場合、私は置きます別の

<option value="">Select a Product</option> 

結果の先頭に。


@Darrylハイン

ここ)スクリプトが

<option value="3">Option 1</option> 
<option value="4">Option 2</option> 
<option value="6">Option 3</option> 

必要に応じて、.htmlのを使用している場合()メソッドの代わりに、.appendを(返すものの例ですが、私は希望別のものを置く

<option value="">Select a Product</option> 

結果の先頭に。送信については「選択...」オプションは続かどう

答えて

2

あなただけの最初のオプションを選択した項目をリセットするためにあなたの成功の機能を変更することはできますか?

$("#Products").append(result).selectedIndex = 0; 

またはそれ以前の選択に設定しますか?

var tmpIdx = $("#Products").selectedIndex; 
$("#Products").append(result).selectedIndex = tmpIdx; 

onChangeイベントは、あなたが常にフォームが更新され、それが設定されている場合、変更イベントは、そのフラグと終了を確認することができますことを示すフラグを設定することができ、その後解雇べきではない場合。

-1

0

私は次のことを行なったし、うまく働いた:

<select name="Products" id="Products"> 
<option value="">Select Product</option> 
</select> 

<script type="text/javascript"> 
$('#Products').append('<option value="1">test 1</option><option value="3">test 3</option><option value="3">test 3</option>'); 
</script> 

をスクリプトが戻っていますか?

0
$('#field').find('option:first').attr('selected', 'selected').parent('select'); 

これは

に動作します見ます
関連する問題