jquery .val()设置的值与提供的值不同

时间:2015-07-28 04:02:48

标签: javascript jquery django

我有一个django表单,需要点击按钮才能填充。表单呈现如下:

<input type="text" id="start_date">
<input type="text" id="end_date">
<input type="submit" id="submit_first" value="POST">
<button id="submit_second">Generate</button>

单击submit_second时在文本字段中设置值的jquery如下:

$('#submit_second').click(function(){
    $('#id_start_date').val({{start_date}});
    $('#id_end_date').val({{end_date}});

    $('#submit_first').click();
})

start_date和end_date变量包含一些日期字符串,这些日期字符串作为上下文从视图传递并在模板中输出它们的真值(eg: 2015-07-7),但在触发jquery函数时在文本字段中设置不同的值({ {1}})。

2 个答案:

答案 0 :(得分:2)

我的假设是渲染的脚本类似于$('#id_start_date').val(2015-07-7);,其中2015-07-7将被视为数学公式,并且将处理等式并将操作的结果设置为输入&#39; s值。

由于您希望按原样呈现值,因此需要将值视为字符串,因此请尝试

$('#submit_second').click(function () {
    $('#id_start_date').val('{{start_date}}');
    $('#id_end_date').val('{{end_date}}');

    $('#submit_first').click();
})

答案 1 :(得分:0)

.val()方法检索元素的值。 您应该使用.text()方法。

$('#submit_second').click(function(){
    $('#id_start_date').text({{start_date}});
    $('#id_end_date').text({{end_date}});

    $('#submit_first').click();
})