是否可以在javascript中添加xsl变量,它本身在xsl模板中...基本上有两个单选按钮'类'和'事件',一个文本框和搜索按钮。因此,当用户选择其中一个无线电并在文本框中键入关键字时,我希望能够仅提取与所选无线电相关的那些值。这是否可能?
<script type="text/javascript">
<![CDATA[
var selected_radio = $("input[name='EventRadio']:checked").val();
if (selected_radio == 'Classes')
{
<xsl:variable name="Rows" select="/dsQueryResponse/Rows/Row[XPATH to get only the selected radio related data]
}
]]>
</script>
答案 0 :(得分:0)
CDATA部分只是文本节点的一部分,因此只是一维字符串 - 此字符串中看起来像标记的任何内容(例如<xsl:variable>
)就是这个 - 字符串,文字。
因此,在CDATA部分中包含XSLT指令不会导致此字符串被解析并解释为XSLT指令。
可能的是,从Javascript代码调用新的XSLT转换,并将所有用户输入的数据作为外部参数传递给转换。
答案 1 :(得分:0)
我觉得你好像对处理模型感到困惑。 XSLT代码生成一个包含大量元素的HTML页面,其中一个元素是一个脚本元素。当它完成它的工作时,浏览器加载HTML页面并执行HTML页面中包含的onLoad javascript。这个阶段的XSLT代码已经终止,你在Javascript中做的任何事都不会影响XSLT的执行。
对于更具交互性的处理模型,请考虑使用Saxon-CE,它允许用户交互事件由XSLT模板处理。