【问题标题】:Jquery: why .val() isn't changing the output when setting something inside as a parameter?Jquery:为什么 .val() 在将内部设置为参数时不改变输出?
【发布时间】:2016-06-04 13:59:14
【问题描述】:

我试图通过单击按钮将输入框中的一些文本插入到 div 中。 因此,#horario09 div 中的内容应替换为“La reserva es para: '+nombre”,其中 nombre 是您在文本输入中插入的任何内容。

<form id="form1" action="">
        Horario: 09 horas <input type="text" id="h09">
        <button class="btn btn-primary" onclick="return reservas.guardarReserva();">Reservar</button>
        <div id="#horario09"></div>
</form> 

var reservasAPP = {
    guardarReserva:function(){
        var nombre = $('#h09').val();
        var reservaConfirmada = $('#horario09').val('La reserva es para: '+nombre);
        console.log(nombre);
        console.log(reservaConfirmada);
        return false;
    }
}
window.reservas = reservasAPP;

我正在插入一些 console.log() 以进行测试,并且 nombre 打印正常。为什么.val() 没有替换 div 的内容?我已经阅读了文档,当我将某些东西设置为 val() 的参数时,它似乎应该改变值。

reservaConfirmada 的 Console.log 为我提供以下输出: [上下文:文档,选择器:“#horario09”]

【问题讨论】:

  • 您的返回是对象而不是字符串。返回对象“#horario09”

标签: javascript jquery if-statement


【解决方案1】:

替换

<div id="#horario09"></div>

<div id="horario09"></div>

.val()方法主要用于获取input、select、textarea等表单元素的值。

改用 .html()

【讨论】:

    【解决方案2】:

    尝试将 div 定义为:

    <div id="horario09"></div>
    

    而不是:

    <div id="#horario09"></div>
    

    然后试试:

    var reservaConfirmada = $('#horario09').html('La reserva es para: '+nombre);
    

    var reservaConfirmada = $('#horario09').text('La reserva es para: '+nombre);
    

    【讨论】:

      【解决方案3】:

      您正在替换 div 中的文本。供div使用

      $('#horario09').text();//if you enter text
      $('#horario09').html();//if you enter html 
      

      .val() 用于输入。

      【讨论】:

      • 是的,确切地说是$('#horario09').text('La reserva es para: '+nombre);
      猜你喜欢
      • 2012-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-25
      • 2021-03-03
      • 1970-01-01
      相关资源
      最近更新 更多