Dar*_*ney 2 jquery twitter-bootstrap
问题
我有一个popover,我填充了隐藏元素的内容.当弹出窗口显示时,我想用其他地方包含的数据预填充文本字段.
弹出窗口正确显示文本字段中没有数据.
我尝试着
<!-- change dob1 content -->
<div id="dob1_iq" style="display: none">
<input type="text" id="iq__dob1-day" value="">
<input type="text" id="iq__dob1-month" value="">
<input type="text" id="iq__dob1-year" value="">
</div>
Run Code Online (Sandbox Code Playgroud)
我知道数据就在我在控制台日志中看到的那样:
$('.dob1_iq').popover({
html : true,
content: function() {
return $('#dob1_iq').html();
}
})
.on('show.bs.popover', function() {
console.log('day is ' + $('#qq__dob1-day').val()); // <- this shows value is there in console
$('#iq__dob1-day').val($('#qq__dob1-day').val()); // stays blank
$('#iq__dob1-month').val($('#qq__dob1-month').val()); // stays blank
$('#iq__dob1-year').val($('#qq__dob1-year').val()); // stays blank
});
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?
看看它的行动
UPDATE
认为这可能是因为元素不在DOM中我也尝试了以下但是也失败了:
$(document).find("#iq__dob1-day").val($('#qq__dob1-day').val());
Run Code Online (Sandbox Code Playgroud)
更新2
我检查了我试图添加值的元素是否实际存在,它确实存在:
// this gives "does it exist 1"
console.log('does it exist ' + $('#iq__dob1-day').length);
Run Code Online (Sandbox Code Playgroud)
奇怪.无法解释,但如果你想让它工作,你可以使用attr
这很好用:
$('#iq__dob1-day').attr("value", $('#qq__dob1-day').val()); // stays blank
$('#iq__dob1-month').attr("value", $('#qq__dob1-month').val()); // stays blank
$('#iq__dob1-year').attr("value", $('#qq__dob1-year').val()); // stays blank
Run Code Online (Sandbox Code Playgroud)
编辑:val()没有按预期工作,因为ID是重复的.我已经添加了$('#dob1_iq').show();,它解释了发生了什么:http://www.bootply.com/B6ULMiPGbc#
| 归档时间: |
|
| 查看次数: |
113 次 |
| 最近记录: |