我可以使用下拉菜单填充XSLT变量吗?

时间:2015-03-06 22:13:21

标签: xml xslt

请不要因为问一个菜鸟问题而攻击我。 无论如何,这就是我正在做的事情 - 我正在研究一个XSLT文件,它与一个名为software的XML文件一起工作。我不打算把整个事情写成一个小样本。有更多的应用程序,然后只有一个。

   <?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/xsl" href="form.xslt"?>
<software
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="form.xstl"

>
  <aplication>
    <tittle>Libre Office</tittle>
    <vendor>Libreoffice.org</vendor>
    <category>office suite</category>
    <platform>
      <software>Windows</software>
      <versions>XP sp 2</versions>
      <hardware cpu="pentium" ram="256mb"></hardware>
       </platform>
    <price>0</price>

在样式表中,有一个由上述HTML

填充的下拉菜单
<select name="softwareCategory" id="softwareCategory">
    <xsl:for-each select="//category[not(.=preceding::*)]"> 
    <option  value="{category}">
    <xsl:value-of select="."/>          
    </option> 
    </xsl:for-each> 
</select> 

无论如何,我正在研究一个表 - 我正在寻找填充名为selectedCategory的XSL变量的代码,并使用菜单中选择的值填充它。 如果在XSTL中无法做到这一点,我打算使用jquery 感谢您的时间。 我正在改变与最新的jquery无法正常工作的事情

$('softwareCategory').change(function() {

var selectedCategory =$('softwareCategory').find('option:selected').text();

$.get("students.xml",{},function(xml){

        // Build an HTML string
        myHTMLOutput = '';
        myHTMLOutput += '<table width="98%" border="1" cellpadding="0" cellspacing="0">';
        myHTMLOutput += '<th>Name</th><th>title</th></th>';

        // Run the function for each aplication tag in the XML file
        $('apliation',xml).each(function(i) {
            title = $(this).find("title").text();


            // Build row HTML data and store in string
            mydata = buildSoftware(title);
            myHTMLOutput = myHTMLOutput + mydata;
        });
        myHTMLOutput += '</table>'+selectedCategory;

        // Update the DIV called aprovedSoftwareTable with the HTML string
        $("aprovedSoftwareTable").append(myHTMLOutput);
    });

function BuildSoftware () {
output = '';
output += '<tr>';
output += '<td>';
output +=   '<input type="checkbox" name="value="'+title+'"" value="'+title+'">';
output += '</td>';
output += '<td>';
output += title;
output += '<td>';
output += '</tr>';

return output;
}
});
});

0 个答案:

没有答案