2012-08-16 61 views
1

https://github.com/twitter/bootstrap/issues/531Twitter的引導模式發行531

我使用Twitter的自舉在發行531所述的修補程序,以允許使用數據的屬性將數據傳遞到模態,這工作正常,但...

$('#modal2').data('modal').options.user_id 

似乎是不同的:

$('#modal2').data('user_id') 

我傳遞一個USER_ID:

<a data-toggle="modal" data-user_id="5" href="#modal2">Edit Picture</a> 

$('#modal2').on('show', function (event) { 
    $('#modal2').data('user_id', $('#modal2').data('modal').options.user_id); 
}); 

但我也試圖通過從一個模式到另一個相同的數據屬性:

#modal1內:

$('#modal1').modal('hide'); 
$('#modal2').data('user_id', 6); // successfully sets the user_id to 6 
$('#modal2').modal('show'); 

modal2使用這種方法,有打開時的問題是不正確的值(5而不是6),似乎忽略了$('#modal2')。data('user_id',6)設置的數據。

我該如何設置數據的值('modal')。options.user_id或者這是一個修復錯誤?

回答

1

它們是不同的。 Bootstrap Modals中用於傳遞數據的補丁只將數據從始發錨點傳輸到Modal.options對象。所以,

<a data-toggle="modal" data-user_id="5" href="#modal2">Edit Picture</a> 

爲您提供:

$('#modal2').data('modal').options.user_id === 5 // true 

但這不是一個新的數據對象添加到模式的元素。

因此,在您的情況下,嘗試將值分配給單獨的數據對象(data('user_id'))將不會影響Modal.options.user_id值。

您或者需要操縱原始錨點上的數據值,或者直接操作Modal.options.user_id值。

+0

然後,是什麼語法直接操縱Modal.options.user_id的數據值? – 2012-08-17 08:59:11

+0

'$('#modal2')。data('modal')。options.user_id =「some_value」' – merv 2012-08-17 15:00:47

+0

謝謝,沒有東西通常會這麼簡單:) – 2012-08-19 17:31:39