使用jquery填充输入字段,使用twig值

时间:2015-06-02 17:02:27

标签: javascript php jquery symfony twig

我一直在寻找一段时间没有运气。

我知道我的问题看起来很平凡,谷歌和这里有很多(如数百个)答案,但是,我的问题似乎还远未解决。

我有以下问题,我需要用twig文件中的silex变量填充一个输入字段。

表格如下:

<span>Author: </span>
<input type="text" name="author" id="author" 
{% if user.getAuthorName %}value="{{user.getAuthorName}}"{% endif %} />
<span><a href="#" id="filler">Use your own username</a></span>

和js代码是:

<script>
  $(function(){
    $('#filler').live('click', function() {
      $("#author").val($("#author").text("{{user.getFirstName}} {{user.getLastName}}"));
    });
});
</script>

我遇到的问题是,代码实际上有效,但是当我点击时,它会填充

字段
[object Object]

而不是2个变量的实际值

我尝试将其更改为带有id的隐藏字段,并将变量设置为值,然后使用      的.text($( “#idfield”)。VAL())

仍然没有运气,仍然用

填充值
[object Object]

你们有没有人知道我在这里做错了什么?

2 个答案:

答案 0 :(得分:1)

你应该删除双重声明:

$("#author").val("{{user.getFirstName}} {{user.getLastName}}");

答案 1 :(得分:0)

以下是代码的清理版本,没有live,因为它已被弃用/删除。

$(function() {
    $('#filler').on('click', function(e) {
        e.preventDefault();
        //If your JS is parsed as a twig template then, you could use
        $("#author").val("{{user.getFirstName}} {{user.getLastName}}");
        //and remove the data-full-name from your HTML

        //If not, keep the data-full-name and use:
        $("#author").val($("#author").data("fullName"));
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span>Author: </span>
<input data-full-name="{{user.getFirstName}} {{user.getLastName}}" type="text" name="author" id="author" value="{% if user.getAuthorName %}{{user.getAuthorName}}{% endif %}" />
<span><a href="#" id="filler">Use your own username</a></span>