-1

ユーザーがボタンをクリックしたときにCookieの値を設定する機能があります。

変更イベントで、選択ボックスから2つのメソッドを呼び出しています。この関数は正しく呼び出され、正常に機能していますが、以下のjquery関数からこれら2つの関数を呼び出すと問題が発生します。 <select NAME="the_menu" size="1" id="Item" onChange="UpdateUnitMenu(this, document.form_A.unit_menu); UpdateUnitMenu(this, document.form_B.unit_menu)"> 「言語」の名前にCookieが存在する場合に呼び出したいのと同じメソッド。2つの関数は基本的に、最初の値の選択に基づいて、別の2つのドロップダウン選択ボックス値を設定します。

MyForm

 <form name="property_form" >
     <select NAME="the_menu" size="1" id="Item" onChange="UpdateUnitMenu(this, document.form_A.unit_menu); UpdateUnitMenu(this, document.form_B.unit_menu)">   <optgroup label="Select Any One Type">   </optgroup>  </select>
     <input type="button" id='continue' value="Save as default value"/>
 </form>

私の機能

<script>
        $(document).ready(function(){  
            $('#continue').click(function() {
                 var singleValues = $("#Item").val(); 
                $.cookie("language", singleValues); 
            })  
      alert($.cookie('language'));
      $('#Item').val($.cookie('language')).attr('selected', true);

      if($.cookie('language')!=null)
               {  
                 var th=$.cookie('language');
                 UpdateUnitMenu(th, document.form_A.unit_menu);//trying to call first function
                 UpdateUnitMenu(th, document.form_B.unit_menu);//trying to call first function
               } 
        });
    </script>   
4

1 に答える 1

1

ある場合には要素参照を使用して関数を呼び出し、別の場合には文字列を使用して関数を呼び出しています。

関数を両方で機能させるには、値がselectまだ文字列でない場合にのみ、から値を取得します。

if (typeof propMenu != 'string') {
  i = propMenu.selectedIndex;
} else {
  i = propMenu;
}

または、異なるパラメーターを受け取る2つの異なる関数を作成し、一方の関数がから値を取得してから、selectもう一方の関数を呼び出すようにします。

于 2013-03-22T10:31:54.720 に答える