1

我正在开发一个在线测验应用程序,它提供了所有问题的列表,当用户单击问题编号时,应显示相应的问题。当用户单击任何问题编号时,应更改问题编号单元格的背景颜色。为此,我的 JS 如下

<script>
function changecolor(x)
{
    document.getElementById(x).style.background-color="#4ead3a";
}
 </script>

table代码如下:

<table border=1>
<tr>            
<?php
for($i=1;$i<=$count;$i++)
{ ?>
<td id="<?php echo  $i; ?> " align="center" style="width:50px"    onclick="changecolor(id)" >
    <a href="http://127.0.0.1/example/runquiz.php?x=<?php echo  $i; ?>" ><?php   echo  $i; ?> </a> 
    <input type="hidden" name=<?php echo  $i; ?> value="" >
</td>
<?php }
 ?>
 </tr></table>

和CSS如下

td{
vertical-align:middle;
background-color:#dbd6d2;
border:1px solid #000000;
border-width:0px 1px 1px 0px;
text-align:center;
padding:7px;
font-size:10px;
font-family:Arial;
font-weight:bold;
color:#000000;

}

但是当我单击任何单元格时,背景颜色保持不变。我是使用 JS 和 CSS 的新手。请帮我。提前致谢


org.pentaho.reporting.libraries.resourceloader.ResourceCreationException:无法解析文档。

我正在尝试使用带有 mongodb 的 java 中的 pentaho 生成报告。

我的代码是

try {
 ClassLoader classloader = this.getClass().getClassLoader();
 URL reportDefinitionURL =
 classloader.getResource("reports/TestSalesOrderReportOuputValues.prpt");
 ResourceManager resourceManager = new ResourceManager();
 resourceManager.registerDefaults();
 Resource directly = resourceManager.createDirectly(
 reportDefinitionURL, MasterReport.class);
 return (MasterReport) directly.getResource();
 } catch (ResourceException e) {
e.printStackTrace();
}

越来越像,

org.pentaho.reporting.libraries.resourceloader.ResourceCreationException: Unable to parse the document: ResourceKey{schema=org.pentaho.reporting.libraries.docbundle.bundleloader.ZipResourceBundleLoader, identifier=content.xml, factoryParameters={org.pentaho.reporting.libraries.resourceloader.FactoryParameterKey{name=repository}=org.pentaho.reporting.libraries.repository.zipreader.ZipReadRepository@854e63b, org.pentaho.reporting.libraries.resourceloader.FactoryParameterKey{name=repository-loader}=org.pentaho.reporting.libraries.docbundle.bundleloader.ZipResourceBundleLoader@638a3572}, parent=ResourceKey{schema=org.pentaho.reporting.libraries.resourceloader.loader.URLResourceLoader, identifier=file:/D:/java_works/nirvahak-wrokspace/samples/sample-erp/target/classes/reports/manogoTestVenu.prpt, factoryParameters={}, parent=null}}

请任何人都可以帮助我。

4

3 回答 3

4

利用

document.getElementById(x).style.backgroundColor="#4ead3a";

http://www.w3schools.com/jsref/prop_style_backgroundcolor.asp

于 2013-08-09T10:31:03.390 回答
0

代替

    document.getElementById(x).style.background-color="#4ead3a";

利用

    document.getElementById(x).style.background="#4ead3a";
于 2013-08-09T10:34:09.137 回答
0

我有一个建议给你。您可以使用

<div></div>

这样:

<?php
for($i=1;$i<=$count;$i++)
{ ?>
<div id="<?php echo $i; ?>" style="width:50px;display:inline-table" onclick="changecolor(<?php echo i;?>)">
    <a href="http://127.0.0.1/example/runquiz.php?x=<?php echo  $i; ?>" ><?php   echo  $i; ?> </a> 
    <input type="hidden" name=<?php echo  $i; ?> value="" >
<?php } ?>

之后,您可以使用 jquery 并执行以下操作:

function changecolor(id){
$("#"+id).css({"background-color":"#4ead3a"});
}

只是为了让您知道,已弃用,无论如何在您的代码中,您错过了在 while 上调用 I var:

onclick="changecolor(<?php echo i;?>)">
于 2013-08-09T10:36:16.883 回答