2010-03-23 94 views
0
<script> 
function edit(elem) 
{ 
var ele=$(elem).siblings('label#test').html(); 
var a=document.getElementById('test'); 
var htm = '<input type="text" name="modal" id="modal" style="width:70%;" value="'+$(elem).siblings('label#test').html();+'"/>'; 
$dialog.html(htm) 
    .dialog({ 
     autoOpen: true, 
     position: 'center' , 
     title: 'EDIT', 
     draggable: false, 
     width : 300, 
     height : 40, 
     resizable : false, 
     modal : true, 

     buttons: { "Save" : function() { if($('#modal').val() != ''){a.value=$('#modal').val();$dialog.dialog('close');} else {alert('i++'+$('#modal').val()+'++');} } } 
    }); 
$dialog.dialog('open'); 
    } 


$(document).ready(function() { 
    var flag=0; 

    $("input:radio[@name=template]").click(function() { 
    var checkedoption = $(this).val(); 
    if (checkedoption == "template3") 
    { 
     if (flag == 0) 
     { 
      var html = '<input type="text" name="val" id="val" />&nbsp;&nbsp;&nbsp;<input type="button" value="Add" id="add"><br>'; 
      $('#useroptions').append(html); 
      flag=1; 

      $('#add').click(function(){ 
       var a = $('#val').val(); 
       if (a == '') 
       { 
       alert('Enter options'); 
       } 
       else 
       { 
         var section= '<tr class="clickable"><td id="userval" BGCOLOR="#FF6699"><label id="test">' + a + '</label>&nbsp;&nbsp;&nbsp; <IMG SRC="/media/img/chunkedit.gif" onclick="javascript:edit(this);" >&nbsp;&nbsp;&nbsp;<IMG SRC="/media/img/close.gif" onclick="javascript:remove(this);" ></td></tr>'; 
        $('#useroptions').append(section); 
       } 
    }); 
    } 
} 
}); 
}); 
</script> 
<form> 
<table> 
     <tr><td> 
<div id="useroptions"></div> 
</tr></td> 

</table> 
</form> 

如何在上面的代碼測試設置一個新值.. 感謝通過jQuery的設置值

+0

實驗室el元素不包含表單控件,並且沒有for屬性。你確定你使用正確嗎? http://www.w3.org/TR/html4/interact/forms.html#h-17.9.1 – Quentin 2010-03-23 14:47:12

回答

2

使用過載值,像這樣:

$(elem).siblings('label#test').html("<span>new value</span>"); 
+0

但它會改變這種情況下的舊值嗎? – Hulk 2010-03-23 14:57:10

+0

@Hulk,這是正確的,你能描述更多你在做什麼嗎?我相信我們可以爲您的整體問題提供更好的解決方案。 – 2010-03-23 15:08:51

+0

嗨,如果我添加2個值說a和b,然後將HTML設置爲上面說,它會覆蓋'a',因爲'a'是在我編輯'b'時加入的。熱衷於處理此.. – Hulk 2010-03-23 16:22:57

1

您可以直接參考#test as id-s需要唯一,然後使用文本設置值(或者如果您需要在#test內創建html元素,請使用html)

$('#test').text("new value"); 
+0

但它會改變這種情況下的舊價值嗎? – Hulk 2010-03-23 14:56:50

+0

是的,它會覆蓋舊值。如果你想保留舊的價值,你必須存儲在某個地方。 – 2010-03-23 14:59:28

+0

嗨,如果我添加2個值說a和b,然後設置HTML爲上述說,它會覆蓋自a被添加第一次,而我編輯b.Hot處理此..嗨,如果我添加2個值說'a'和'b',然後將html設置爲上面的表示它會覆蓋'a',因爲'a'是首先添加的,而我編輯'b'。熱衷於處理這個.. – Hulk 2010-03-23 16:23:50