Javascript-在<;之间获取文本;李>;凭身份证
我正试图编写一些javascript来获取li元素(1-16)的内部文本,并将它们放入隐藏字段中Javascript-在<;之间获取文本;李>;凭身份证,javascript,jquery,Javascript,Jquery,我正试图编写一些javascript来获取li元素(1-16)的内部文本,并将它们放入隐藏字段中 var myValue9 = document.getElementById("fileName9").value; oForm.elements["fileName9"].value = myValue9; <input name="fileName9" type="hidden" id="fileName9" /> <li id="wavName9">
var myValue9 = document.getElementById("fileName9").value;
oForm.elements["fileName9"].value = myValue9;
<input name="fileName9" type="hidden" id="fileName9" />
<li id="wavName9"> Some Text </li>
var myValue9=document.getElementById(“fileName9”).value;
oForm.elements[“fileName9”].value=myValue9;
一些文本
如何返回
之间的文本并将其放入隐藏字段?li标记没有.value
属性。使用纯javascript,您可以这样做:
oForm.elements["fileName9"].value = document.getElementById("wavName9").innerHTML;
或者,要从1到16执行所有这些操作,可以使用以下循环:
for (var i = 1; i <= 16; i++) {
oForm.elements["fileName" + i].value = document.getElementById("wavName" + i).innerHTML;
}
或者,从1到16执行所有操作:
for (var i = 1; i <= 16; i++) {
$("#fileName" + i).val($("#wavName" + i).text());
}
for(var i=1;i使用jQuery来完成它
var myvar = $("#wavName9").html()
简单JavaScript:
document.getElementById("fileName9").value = document.getElementById("wavName9").innerText;
在本例中,您也可以使用innerHTML,但这也将为您提供元素包含的HTML。使用jQuery:
$('#fileName9').val($('#wavName9').text());
请注意,您可以将.text()
更改为。html()
以返回html结构,而不仅仅是文本
您可以为多个
自动执行此操作,如下所示:
$('li[id^="wavName"]').each(function () {
var number = this.id.replace('waveName', '');
$('#fileName' + number).val($(this).text());
});
这将选择所有的who's id以“wavName”开头,并将文本存储在隐藏输入中的标记中,who's id以“fileName”开头,以与标记相同的整数结尾。我认为这将适用于所有的li
$("li[id^=wavName]").each(function(){
var $this = $(this);
$this.closest("input[id^=fileName]").val($this.text())
});
使用id创建li,其结构如下:listitem-n,其中n为1-16,输入字段采用相同的结构hiddeninputs-n(n=1-16)
使用jfriend00的代码,将其添加到将遍历16次的循环中,增加一个计数变量,您将使用该变量将数据从列表项传输到隐藏输入
var count = 0;
for( i=0; i < 16; i++){
count ++;
$("form #hiddeninput-"+count).val($("#listitem-"+count).text());
}
var计数=0;
对于(i=0;i<16;i++){
计数++;
$($(form#hiddeninput-“+count).val($(#listitem-“+count).text());
}
更好地验证代码,但总的想法是这样的
您还可以从头开始在javascript中创建隐藏字段,这将使代码更加稳定,因为在执行js时表单中丢失隐藏字段的可能性更小。添加整个框架来解决单个javascript问题可能不是正确的解决方案。@JimSchubert:OP将问题标记为th“jquery”,所以Rob没有添加任何内容。@mblase75同意,但看看帖子,OP显然没有使用jquery。我认为Firefox不支持innerText-你必须在Firefox上使用textContent。
var count = 0;
for( i=0; i < 16; i++){
count ++;
$("form #hiddeninput-"+count).val($("#listitem-"+count).text());
}