2015-03-25 65 views
1

我在使用以下代碼的變量中有HTML。如何用jQuery替換一個HTML輸入控件的值?

var htmlTables = '<div><table><tr><td><input id="txtweek2" name="txtweek2" style="width:100px" class="form-control timebox" value=""></td> 
<td><input id="txtweek3" name="txtweek3" style="width:100px" class="form-control timebox" value="test value"></td></tr></table></div>'; 

現在我需要更換其值,則具有輸入控制器和我需要如下的輸出。

var htmlTables = '<div><table><tr><td></td> 
    <td>test value</td></tr></table></div>'; 

我試着用下面的代碼。

$(htmlTables).find('input').each(function() { 
       alert(this.value); 
       this.replaceWith(this.value);     
       //$(this).replaceWith("test"); 

請讓我知道可能性。我提供的HTML只是一個示例。我在html字符串中有更多的div,table,tr,td,center等。

謝謝。

回答

1

如果輸出在htmlTables變量的代碼,然後你可以使用jQuery通過它們的值與此代碼替換輸入字段:

jQuery('#txtweek2').replaceWith(jQuery('#txtweek2').val()); 
jQuery('#txtweek3').replaceWith(jQuery('#txtweek3').val()); 

你可以在這裏玩:

https://jsfiddle.net/cckumk8o/

如果你不知道ID,並動態生成的內容,你可以使用類這樣的替換元素:

var count=jQuery('.timebox').size(); 
for (i = 0; i < count; i++) { 
    jQuery('input.timebox:eq(0)').replaceWith(jQuery('input.timebox:eq(0)').val()); 
} 

它也可以在這裏找到: https://jsfiddle.net/y1qemn5b/

+0

謝謝..但它不是唯一的兩個輸入字段可用。它的動態構建,大部分時間我都不知道ID! – Chidambaram 2015-03-25 12:40:30

+0

嗨...謝謝。你更新的代碼幫助了我很多。我改變了我的頁面的一些邏輯,並取得了我所需的結果。 :) – Chidambaram 2015-03-26 13:01:23