Jquery在html字符串中编辑变量

时间:2014-09-09 08:54:28

标签: jquery

我试图将一个隐藏的模板放入jquery中的字符串变量中,然后在将变量添加回页面之前编辑它们

当前代码:

var htmlString = $("#hiddenDocumentsTemplate").html();
var html = htmlString.trim();

$(".Id input", html).attr("value", msg.succeeded.Id);
$(".plate input", html).attr("value", msg.succeeded.No);
$(".repair input", html).attr("value", msg.succeeded.Repair);
$(".mId input", html).attr("value", msg.succeeded.MId);
$(".StopStart input", html).attr("value", msg.succeeded.StopStart);

//$(".Id input", html).val(msg.succeeded.Id);
//$(".plate input", html).val(msg.succeeded.No);
//$(".repair input", html).val(msg.succeeded.Repair);
//$(".mId input", html).val(msg.succeeded.MId);
//$(".StopStart input", html).val(msg.succeeded.StopStart);

$(".selectUser input", html).val(msg.succeeded.SelectedUserId);
$(".selectStage input", html).val(msg.succeeded.SelectedStage);

$(".No", html).text(msg.succeeded.No);
$(".collect ").append(html);

隐藏的温度:

<div id="hiddenDocumentsTemplate"> 
   <input class="Id" id="Temp_0__Id" name="Temp[0].Id" type="hidden" value="307">
   <input class="plate" id="Temp_0__No" name="Temp[0].No" type="hidden" value="VTK">
   <input class="StopStart" id="Temp_0__StopStart" name="Temp[0].StopStart" type="hidden" value="False">
    <input class="repair" id="Temp_0__Repair" name="Temp[0].Repair" type="hidden" value="4775">
    <input class="mId" id="Temp_0__MId" name="Temp[0].MId" type="hidden" value="19">
    <div class="No">VTK</div>
    <div class="details">
        <select id="SelectedUserId" name="SelectedUserId" class="valid selectUser">
            <option value="">None</option>
            <option value="107" selected="">uzi</option>
        </select>
        <select id="SelectedStage" name="SelectedStage" class="valid selectStage">
                    <option value="0">0</option>
                    <option value="1">1</option>
                    <option value="2">2</option>
                    <option value="3" selected="">3</option>
            </select>    
            <div class="button save">Update</div>
        </div>
    </div>

你可以看到我尝试过一些东西。

1 个答案:

答案 0 :(得分:0)

要将模板作为元素进行操作,必须将字符串转换为元素。

(使用$.trim方法,因为String.trim并非在所有浏览器中都可用。)

var html = $($.trim(htmlString));

现在html变量是一个包含HTML元素的jQuery对象,您可以像尝试代码一样使用它们。您仍然可以在append方法中使用它,因此代码中不需要进行其他更改。