[英]Javascript, copy text field to new li class
更新,更加清晰:
我当前的字段包含值“ 1201026404”(每次都会更改):
<input id="ticket_fields_20323656" name="ticket[fields][20323656]" size="30" style="width:125px;" type="text" value="1201026404" tabindex="11">
当页面加载时,我想要复制值“ 1201026404”(每次都会更改)的LI:
<ul class="multi_value_field" style="width: 99.5%;">
<li class="choice" choice_id="1201026404">1201026404<a class="close">×</a><input type="hidden" name="ticket[set_tags][]" value="1201026404" style="display: none;"></li>
</ul>
我已经制作过但需要帮助的Javascript:
<script type="text/javascript">
copy = function()
{
var n1 = document.getElementById("ticket_fields_20323656");
var n2 = ‘what goes here??’
n2.value = n1.value;
}
</script>
您将必须在li元素上使用ID。
<li id="choice_20323656">
那么你可以像复制它
<script type="text/javascript">
copy = function()
{
var n1 = document.getElementById("ticket_fields_20323656");
var n2 = document.getElementById("choice_20323656");
n2.innerHTML = n1.value;
}
</script>
如果您可以使用jQuery 1.6或更高版本,则可以使用:
$("#ticket_fields_20323656").keyup(function(e) {
$(".choice")
.attr("choice_id",e.currentTarget.value)
.html(e.currentTarget.value
+ "<a class=\"close\">×</a><input"
+ " type=\"hidden\" name=\"ticket"
+ "[set_tags][]\" value=\""
+ e.currentTarget.value
+ "\" style=\"display: none;\">");
});
这是一个演示: http : //jsfiddle.net/JKirchartz/V2L25/ ,但是您应该知道,如果您在类choice
有多种choice
它们的值将以相同的方式改变: http : //jsfiddle.net / JKirchartz / V2L25 / 4 /
这样做在Firefox中工作:
<script type="text/javascript">
copy = function()
{
var n1 = document.getElementById("ticket_fields_20323656");
var n2 = document.querySelectorAll("ul.multi_value_field li:first");
n2.innerHTML = n1.value;
}
</script>
这将使用IE6,7,8中不存在的querySelectorAll-否则,您需要使用不确定自己具有的元素的ID
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.