カスタムモーダルを作成したい。基本的に、行を含むテーブルがあります。ユーザーが行をクリックすると、ポップアップウィンドウが表示されます。このリンクでカスタムモーダルを作成する方法の説明に従っています:http://durandaljs.com/documentation/Showing-Message-Boxes-And-Modals/
説明に基づいて、カスタムモーダルを作成するには2つのクラスが必要であると考えました。1つはビューで、もう1つはモーダルです。
私は実際には、リンクにまったく同じコードを持つ2つのクラスがあります。
私の質問は、行がクリックされたときにカスタムモーダルを表示するにはどうすればよいですか?
これが私の見解では私のテーブルであるとしましょうindex.html
<table class="table table-bordered table-hover">
<thead>
<tr>
<th></th>
<th>Item</th>
<th>Price</th>
<th>Quantity</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
messageBox.html
そして、これがそのためのコードであると呼ばれるビューを持っていると仮定します:
<div class="messageBox">
<div class="modal-header">
<h3 data-bind="html: title"></h3>
</div>
<div class="modal-body">
<p class="message" data-bind="html: message"></p>
</div>
<div class="modal-footer" data-bind="foreach: options">
<button class="btn" data-bind="click: function () { $parent.selectOption($data); }, html: $data, css: { 'btn-primary': $index() == 0, autofocus: $index() == 0 }"></button>
</div>
</div>
そして、と呼ばれるモーダルmessageBox.js
。そのためのコードは次のとおりです。
define(function() {
var MessageBox = function(message, title, options) {
this.message = message;
this.title = title || MessageBox.defaultTitle;
this.options = options || MessageBox.defaultOptions;
};
MessageBox.prototype.selectOption = function (dialogResult) {
this.modal.close(dialogResult);
};
MessageBox.defaultTitle = '';
MessageBox.defaultOptions = ['Ok'];
return MessageBox;
});
テーブルクリックイベントを、作成したこのカスタムモーダルと関連付けるにはどうすればよいですか?