这是交易。我已经建立了一个上市的网站lumber handling products our company sells,它在Firefox,Chrome等中运行良好。在IE(7,8和9)中,渲染很好,但是我们的报价形式有一个特殊的问题。 / p>
当用户浏览网站并看到他们喜欢的内容时,他们可以点击“添加到报价请求”,并将其添加到当前会话中的报价请求中。如果他们想要审查或完成他们的请求,他们会预先选择他们感兴趣的内容。这是一个显示预期行为的截屏视频:
http://screencast.com/t/YPSbWjVe
我通过jquery $ .get请求http://lumberhandling.com/quote来抓取表单。
以下是IE9中相同活动的截屏视频:
http://screencast.com/t/3jRHSLUjC
我做了完全相同的事情,但是如果我点击引用请求按钮并激活模态,我就会“第一次”在模态中检查的内容中“卡住”。在我在地址栏中输入引用网址并转到后备页面http://lumberhandling.com/quote
之前,我无法更新模态内容我甚至尝试强制检查以确保选择的项目(这些项目存储在数据库会话中)被选中:
function checkQuoteItems()
{
$(document).bind('cbox_complete', function()
{
$.getJSON("/quote/check_quote_items", function(json) {
$(json.items).each(function(index, value)
{
var solution = 'solution_'+value;
$('.checkbox[name="'+solution+'"]').attr('checked', 'checked');
});
});
});
}
可悲的是,IE中没有骰子。有人能指出我正确的调试方向吗?我有点不知所措。
答案 0 :(得分:1)
我想出了我的问题。问题是表单的URL被缓存在IE中。为了解决问题,我使用了缓存设置为false的ajax请求。
function checkQuoteItems()
{
$(document).bind('cbox_complete', function()
{
$.ajax({
url: "/quote/check_quote_items/string",
cache: false,
type: "GET",
dataType: "json",
success: function(json){
if(json.items != null)
{
$(json.items).each(function(index, value)
{
trace(value);
$('.checkbox[name="solution_'+value+'"]').attr('checked', true);
});
}
}
});
});
}
答案 1 :(得分:0)
我希望复选框是一个应用于复选框元素的类名。你可以试试这个
function checkQuoteItems()
{
$(document).bind('cbox_complete', function()
{
$.getJSON("/quote/check_quote_items", function(json) {
$(json.items).each(function(index, value)
{
$('.checkbox[name=solution_"'+value+'"]').attr('checked', true);
});
});
});
}