我一直在寻找一段时间没有运气。
我知道我的问题看起来很平凡,谷歌和这里有很多(如数百个)答案,但是,我的问题似乎还远未解决。
我有以下问题,我需要用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]
你们有没有人知道我在这里做错了什么?
答案 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>