2010-03-23 57 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