2011-08-07 64 views
1

我使用隱藏的輸入元素的初始值而不是動態更新的值,IE9有問題。在IE9中使用緩存隱藏的輸入值而不是更新的值

我已經創建了下面這樣你可以看到我的問題現場:http://jsfiddle.net/NN8gM/

  • 該頁面加載,並顯示隱藏的輸入值。當動態更新 值時(通過單擊 示例中的複選框),初始值(6.00)仍顯示在IE 中,而不是新值(7.00)!

更新後的值在我嘗試過的其他瀏覽器中正確顯示。在Firefox中運行示例以查看所需的效果。

爲什麼?

回答

0

我建議這樣做的正常方式和使用:

$('#si').attr('value', '7.00'); 
+0

實際工作(當然,沒有的.next()),問題是我不能夠使用'$ ('#si'),因爲那會認爲它是唯一的。所以問題是使用: '$(this).next()' 爲什麼這個工作在Firefox等,但不是在IE9 – Mike123

+0

它是Internet Explorer,whaddya期望? –

+0

哈哈..的確如此。我是這個遊戲的新手,我已經很難學習。 – Mike123

0

我只是檢查在IE9你的代碼,有一兩件事我想告訴你,這不是真的,它的採摘緩存值,

其實這個代碼是不工作$(this).next().attr('value', '7.00');

我換成你的那部分代碼與$('input[type=hidden]').attr('value', '7.00'); 它工作得很好,下面是一個演示。

我仍然搞清楚爲什麼你寫的代碼在Mozilla中並不在ie9中。 (actaully它非常艱難的在IE9調試,它幾乎甚而不開放)

http://jsfiddle.net/NN8gM/9/

+0

嗯..很奇怪。像上面的@Kwpolska一樣,這兩種解決方案都可以工作。我猜想爲什麼'$(this).next()。attr('value','7.00');'在其他瀏覽器中可用,但不在ie中更重要。爲什麼'.next()'很重要,因爲有很多輸入的id爲「si」。我需要動態更新它們中的一個**(**是下一個**到觸發按鈕)。 – Mike123