Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
XSLT或JavaScript-删除重复_Javascript_Arrays_Xslt_Distinct - Fatal编程技术网

XSLT或JavaScript-删除重复

XSLT或JavaScript-删除重复,javascript,arrays,xslt,distinct,Javascript,Arrays,Xslt,Distinct,我正在制作一个单选按钮列表,它查看包含各个国家和相关地区的项目列表。下面是我单选按钮的XSL <xsl:template match="/"> <div id="filter"> <xsl:call-template name="container" /> </div> </xsl:template> <xsl:template name="container"> <xs

我正在制作一个单选按钮列表,它查看包含各个国家和相关地区的项目列表。下面是我单选按钮的XSL

<xsl:template match="/">
    <div id="filter">
        <xsl:call-template name="container" />
    </div>
</xsl:template>


<xsl:template name="container">  
    <xsl:variable name="Rows" select="/dsQueryResponse/Rows/Row"/>    
      <xsl:for-each select="$Rows">
         <xsl:call-template name="group-items"/>
      </xsl:for-each>     
</xsl:template>

<xsl:template name="group-items">    
  <label class="region-filter-item" region="{@Region}">
    <input type="radio" name="region" class="regionbox">
      <xsl:value-of select="@Region"/>
    </input>
  </label>    

这会生成正确的数据,但也会复制许多区域,因为如果一个区域中有15个国家,则该区域将显示15次


只有一次显示每个区域的最佳方式是什么?

我编写了一个JavaScript函数,将每个唯一的项推送到一个数组中,然后使用该数组填充容器。一切都解决了。谢谢大家的帮助:)

函数removeDuplicates(){
var数组=新数组();
$('#filter>.filter item')。每个(函数(){
var country=$(this.attr('country');
if($.inArray(区域,数组)=-1){
Array.push(区域);
}
}); 
Array.sort();
var length=Array.length;
对于(变量i=0;i

}

我们需要了解您的XML是什么样子,以及更多的XSLT。您好,JLRishe-没有可用的XML。我正在使用一个包含列表的内容管理系统。此列表包含两列,一个国家和一个地区。每个国家都有一个相关区域。我正在使用XSL来显示这些信息。我已经更新了XSL以显示我的完整代码。好吧,我猜您一定知道XML的结构,因为否则您首先就无法编写任何XSLT;)。但无论如何,这听起来很像一个分组问题。您在这里使用的是XSLT1.0还是XSLT2.0?我使用的是存储列表中所有内容的内容管理系统。我可以引用内部列名,这就是XSLT的编写方式。我在这篇文章中找到了另一种方法。谢谢大家的回复。
function removeDuplicates(){
var Array = new Array();
$('#filter > .filter-item').each(function(){
    var country = $(this).attr('country ');         
    if ( $.inArray(region, Array ) == -1 ) {
        Array .push(region);
    }
}); 
Array .sort();

var length = Array .length;
for (var i = 0; i < length; i++) {
    $('#filter-container').find('.container').append('<label class="filter-item" country="' + Array [i] + '">' 
                                                + '<input type="radio" name="country" class="checkbox">' 
                                                    + Array [i] + 
                                                '</input>' + 
                                        '</label> ');
    }