【问题标题】:On close of Bootstrap modal popup want to set the value of Textbox on main form在 Bootstrap 模式弹出窗口关闭时,要在主窗体上设置 Textbox 的值
【发布时间】:2014-05-15 01:22:21
【问题描述】:

我是 Bootstrap 设计的新手,目前在我的 ASP.NET MVC5 项目中使用它的 Bootstrap v3.1.1 版本。

我正在“编辑个人资料”上打开一个表单单击按钮并编辑一些字段,例如电子邮件。 我想要做的是在模式弹出窗口关闭时将它们反映在主窗体上。

这是我的代码:

$('#EditProfile').on('hidden.bs.modal', function () {
debugger;
var newEmail = $("#txtEmailId").val();
$("#txtEmail").val() = newEmail;// = newEmail;

});

我还使用以下代码在主表单上显示电子邮件 ID:

<tr>
    <th>Email</th>
        <td>
            <input readonly id="txtEmail" name="txtEmail" type="text" class="form-control"placeholder="Email" size="254" style="width: 200px;"/>
       </td>
</tr>

【问题讨论】:

  • 当我在警报中检查 $("#txtEmailId").val() 的值时,它会在警报中显示正确的值,但它没有反映在主表单上,这是因为我有将文本框的属性设置为只读。?

标签: javascript jquery asp.net-mvc twitter-bootstrap


【解决方案1】:

你需要使用:

$("#txtEmail").val(newEmail);

代替:

$("#txtEmail").val() = newEmail;

【讨论】:

    【解决方案2】:

    Bootstrap 3 documentation 指的是你可以使用的两个事件

    hide.bs.modal:当调用 hide 实例方法时立即触发此事件。
    hidden.bs.modal:触发此事件当模态完成对用户隐藏时(将等待 CSS 转换完成)​​。

    并提供了如何使用它们的示例:

    $('#myModal').on('hidden.bs.modal', function () {
       $("#txtEmail").val(newEmail);
    });
    

    推荐你阅读更多关于 .val() here

    附加说明(与您的问题无关)不要在您的 html 中使用内联样式,就像您使用这个 width: 200px;

    【讨论】:

      【解决方案3】:

      你必须使用:

      $("#txtEmail").attr('value',newEmail);
      

      而不是

      $("#txtEmail").val() = newEmail; 
      

      在您的代码中。

      【讨论】:

        【解决方案4】:

        试试这个:

        $("#txtEmail").text(newEmail);
        

        或者这个:

        $("#txtEmail").html(newEmail);
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-08-30
          • 2018-08-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多