动态设置Bootstrap 3模态标题

sag*_*y36 4 html javascript jquery twitter-bootstrap

我有三个不同按钮的相同模态对话框.

但是,根据单击的按钮,我需要动态设置模式对话框的标题.

我认为使用jQuery在适当的javascript函数中设置标题会很简单.但是,在调试时,我可以看到在代码中相应地设置了标题,但是在显示模态之后,模态标题是空白的.

如何正确显示模态标题?

以下是HTML的相关部分:

<div class="modal fade" id="btnJournalVoucherEditGrid" tabindex="-1" role="dialog" aria-labelledby="btnJournalVoucherEditGrid-label" aria-hidden="true">


<div class="modal-dialog modal-lg">
                                                    <div class="modal-content">
                                                        <div class="modal-header">
                                                            <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                                                            <h4 class="modal-title" id="btnJournalVoucherEditGrid-label"></h4>
Run Code Online (Sandbox Code Playgroud)

这是JS

function onEditJournalVoucher(gdId, rwID)
{
  $('#btnJournalVoucherEditGrid-label').val("Edit Journal Voucher")
Run Code Online (Sandbox Code Playgroud)

Tim*_*wis 14

好吧,你正试图.val()在H4标签上使用.不应该是:

$('#btnJournalVoucherEditGrid-label').text("Edit Journal Voucher");
Run Code Online (Sandbox Code Playgroud)

要么

$('#btnJournalVoucherEditGrid-label').html("Edit Journal Voucher");
Run Code Online (Sandbox Code Playgroud)

.val()是正确的心态,但它在JQuery中的作用是为什么它在这种情况下不起作用.获取具有value="something"属性的元素,例如:

<input id="example" type="text" name="something" value="something"/>
Run Code Online (Sandbox Code Playgroud)

使用$("#example")和调用此ID .val()可以访问或更改value="something"属性.现在看一个<label>元素:

<label id="example"> This is some text </label>
Run Code Online (Sandbox Code Playgroud)

注意缺少value="something"属性?在这种情况下,由于"这是一些文本"只是纯文本,使用:

$("#example").text("Updated Text");
Run Code Online (Sandbox Code Playgroud)

是正确的方法来解决这个问题.希望有助于清理事情!


Con*_*seh 6

.val() 用于表单元素(如输入,复选框等)

对于div /其他元素(例如,在您的情况下为h4),使用.text().html()根据您想要的情况.在这种情况下,因为这只是文本将您的行更改为:

$('#btnJournalVoucherEditGrid-label').text("Edit Journal Voucher");
Run Code Online (Sandbox Code Playgroud)