我遇到的问题是jquery on function在除IE之外的所有浏览器中都有效。
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中无能为力。
任何想法我做错了什么?感谢
答案 0 :(得分: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中运行得很好。
答案 1 :(得分:0)
编写完全相同的功能,但使用以下命令进行复制:
$('#FormIndustryId, #FormIndustries').on("click", ...