1

https://github.com/twitter/bootstrap/issues/531

私はTwitterBoostrapを使用して、問題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を開くと、値が正しくなく(6ではなく5)、$('#modal2')。data('user_id'、6);によって設定されたデータを無視しているように見えることです。

data('modal')。options.user_idの値をプログラムで設定するにはどうすればよいですか、それともこれは修正のバグですか?

4

1 に答える 1

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値を直接操作する必要があります。

于 2012-08-17T01:02:13.777 に答える