javascript が入力されたテーブルがあり、ajax を介してデータを取得しています。私は<tr>
クローンを作成し、ajax リクエストを介して取得したデータに値を設定するテンプレートを持っています。私は Twitter ブートストラップのpopoversを使用しているため、ユーザーはセルをクリックできます。これにより、入力/選択などでポップオーバーがポップされ、ユーザーにセルの値を変更するように促されます。これらの入力の値を設定しているときに問題が発生します。各行を作成するときに、入力の値をポップオーバー テンプレートに設定しますが、.val('xxx')
ログに記録したり、セルをクリックしてポップオーバーを表示したりしても、何も変更されません。逆に、で設定すると.attr('value', 'xxx')
、問題なく動作します..なぜ動作し.val('xxx')
ないのでしょうか?
肉の様子はこんな感じです..
行テンプレート:
....
<td>
<div class="last-name popover-toggle">
<span class="vlabel">----</span>
<div class="popout">
<input type="text" name="last_name" value=""/>
<div class="popout-button-container">
<button type="button" class="btn btn-primary btn-small cancel-field">Cancel</button>
<button data-url="{{ url('edit_lead.json') }}" type="button" class="btn btn-primary btn-small save-field">Save</button>
</div>
</div>
</div>
</td>
....
設定入力値:
...
if (data['last_name']) {
$nRow.find('.last-name input[name=last_name]').val(data['last_name']);//.attr('value', data['last_name']);
$nRow.find('.last-name .vlabel').text(data['last_name']);
}
registerPopover($nRow.find('.last-name'), 'Last Name');
....
ポップオーバーを登録する:
function registerPopover(el, title) {
var options = {
animation: false,
content: el.find('.popout').html(),
html: true,
trigger: 'manual'
};
if (typeof(title) != 'undefined') {
options['title'] = title;
}
el.popover(options);
}