将id隐藏在输入中,使用jTemplate?

时间:2010-04-29 09:44:13

标签: asp.net jquery

我正在使用jquery.ajax()我正在获取一个对象,我使用jTemplate来编写html。我现在的问题是我需要将对象的id放在隐藏的输入中。我不知道该怎么做。我试图在template.htm中用jquery做一个<script>来将id放在隐藏但没有运气的情况下。

有什么建议吗?

这是我的jTemplate html文件

<div style="background-color: #ccc">
    {$T.Email}
</div>

<div style="background-color: #ddd">
    {$T.Password}
</div>

这是我的jquery

$('a').live('click', function(evt) {
                evt.preventDefault();
                var id = $(this).attr('id');
                $.ajax({
                    type: "POST",
                    url: "GetUserWeb.asmx/GetUser",
                    data: "{'value': '" + id + "'}",
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function(msg) {
                        ApplyTemplate(msg);
                    },
                    error: function(xhr, err) {
                        alert("readyState: " + xhr.readyState + "\nstatus: " + xhr.status);
                        alert("responseText: " + xhr.responseText);
                    }
                });
            });

            function ApplyTemplate(msg) {
                $('#Container').setTemplateURL('template.htm');
                $('#Container').processTemplate(msg.d);
            }

1 个答案:

答案 0 :(得分:0)

如果您将id放在函数外部的JavaScript变量中,那么只需将{ItHere}放在模板中即可在模板中访问它。

所以在函数外面做var id,并在函数内设置它。

var id;
$('a').live('click', function(evt) {
                evt.preventDefault();
                id = $(this).attr('id');
                $.ajax({
                    type: "POST",
                    url: "GetUserWeb.asmx/GetUser",
                    data: "{'value': '" + id + "'}",
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function(msg) {
                        ApplyTemplate(msg);
                    },
                    error: function(xhr, err) {
                        alert("readyState: " + xhr.readyState + "\nstatus: " + xhr.status);
                        alert("responseText: " + xhr.responseText);
                    }
                });
            });

            function ApplyTemplate(msg) {
                $('#Container').setTemplateURL('template.htm');
                $('#Container').processTemplate(msg.d);
            }

然后你可以像这样在模板中添加id:

<img src="HelloWorld.jpg" id="{id}"/>