我的应用程序中存在复选框树。我想在选中其中一些复选框之前预先填充复选框的 if 用户。
为此,我从后端 Perl 脚本获取 XML 格式,如下所示。例如,在下面的 XML 中,只有 0、43、44、45、46 和 50 出现,因此只有那些相应的复选框需要在页面加载时检查。我想通过从黑色解析 XMl 调用 perl 脚本来在页面加载时显示那些选中的复选框。我该如何做到这一点?
<perldata>
<hashref memory_address="0x86f4880">
<item key="0">1</item>
</hashref>
</perldata>
<perldata>
<hashref memory_address="0x86f4880">
<item key="43">1</item>
</hashref>
</perldata>
<perldata>
<hashref memory_address="0x86f4880">
<item key="44">1</item>
</hashref>
</perldata>
<perldata>
<hashref memory_address="0x86f4880">
<item key="45">1</item>
</hashref>
</perldata>
<perldata>
<hashref memory_address="0x86f4880">
<item key="46">1</item>
</hashref>
</perldata>
<perldata>
<hashref memory_address="0x86f4880">
<item key="50">1</item>
</hashref>
</perldata>
最佳答案
我读取了一个平面 XML 文件,您将从 PERL 程序中读取。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.js"></script>
<script type="text/javascript">
$(helloWorld)
function helloWorld() {
$.ajax({
url: 'perldata.xml',
success: function(data) {
$('[key]',data).each(function(){
$('#chk_'+$(this).attr('key')).prop('checked',true)
})
}
})
}
</script>
<title>perlData</title>
</head>
<body>
<div id="message">
<form>
<input id='chk_0' type='checkbox' />0<br />
<input id='chk_1' type='checkbox' />1<br />
<input id='chk_2' type='checkbox' />2<br />
<input id='chk_3' type='checkbox' />3<br />
<input id='chk_4' type='checkbox' />4<br />
<input id='chk_5' type='checkbox' />5<br />
<input id='chk_6' type='checkbox' />6<br />
<input id='chk_7' type='checkbox' />7<br />
<input id='chk_8' type='checkbox' />8<br />
<input id='chk_9' type='checkbox' />9<br />
<input id='chk_10' type='checkbox' />10<br />
<input id='chk_11' type='checkbox' />11<br />
<input id='chk_12' type='checkbox' />12<br />
<input id='chk_13' type='checkbox' />13<br />
<input id='chk_14' type='checkbox' />14<br />
<input id='chk_15' type='checkbox' />15<br />
</form>
</div>
</body>
</html>
关于javascript - 在 HTML 页面中显示 XML 内容以创建表单元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12992482/