1

我在除 IE 之外的所有浏览器中都可以使用的 jquery 上遇到一些问题。

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 的下拉列表,它应该是一个行业选择使用 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 回答