1

IE を除くすべてのブラウザーで機能する jquery on 関数に問題があります。

jqueryコードは次のとおりです。

$('#FormIndustryId, #FormIndustries').on("change", function () {
  if ($(this).val()) {
    $.getJSON('/categories/list_categories/industry_id:' + $(this).val(),
    function (cats) {
      if (cats !== null) {
        populateCategorySelect(cats);
      }
    });
  }
});

フロントエンドの観点から、これはここでテストできます: http://www.beanclaim.com/ - #FormIndustries が割り当てられたドロップダウンである業界選択のラベルが付いたフィールドがあります。 2 番目のドロップダウンを ajax コンテンツで更新します。Chrome、Firefox、Safari では動作しますが、IE では何もしないようです。

私が間違っていることはありますか?ありがとう

4

2 に答える 2

2

これは、IE でのみこのコードを実行するためです。

// IF IE (BROWSER) USE jQUERY TO SET THE PLACEHOLDER
   // -------------------------------------------------->
    if ( $.browser.msie ) {
        $("#TemplateName").placeholder();
        $("#FormIndustries").placeholder();
    }

しかし、それはこの JS エラーを返します:

SCRIPT438: Object doesn't support property or method 'placeholder' 

JSが正しく実行されなくなります。プレースホルダーが何であるかはわかりません(IEもわかりません:))が、それを修正すると、ページはIEで問題なく動作します。

于 2013-01-08T04:14:36.980 に答える
0

まったく同じ関数を記述しますが、次を使用してコピーを作成します。

$('#FormIndustryId, #FormIndustries').on("click", ...
于 2013-01-08T04:06:33.950 に答える