按复选框中的文本排序脚本不起作用



下午好。你能告诉我为什么在复选框中按文本排序的脚本不工作,如果复选框通过foreach在smarty中显示?

Foreach显示文本所在的复选框。默认情况下,它们按id排序,但我需要按文本(西里尔字母)排序。为此,我使用了一个脚本。但是由于某些原因它不能用foreach,不使用foreach它可以

与foeach脚本不排序:

{foreach name=Arr key=cid item=val from=$ArrTipkat}
{if $smarty.foreach.Arr.first}    
<div id="DivTipkatCheckboxList">     
{/if}
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[{$val.tipkat_id}]" id="TipkatCheckbox{$val.tipkat_id}" value="{$val.tipkat_id}"{if in_array ($val.tipkat_id, $ArrTipkatByDefault)} checked="checked"{/if} />&nbsp; {$val.tipkat_name}<br />
</label>
{if $smarty.foreach.Arr.last}      
</div>
{/if}
{/foreach}
<script>
var sortByText = function (a, b) {         
return $.trim($(a).text()) > $.trim($(b).text());
};
$(document).ready(function () {
var sorted = $('#DivTipkatCheckboxList label' ).sort(sortByText);
$('#DivTipkatCheckboxList').append(sorted); 
});
</script>

没有foreach,脚本工作,复选框按文本排序,这里:

var sortByText = function (a, b) {
// console.log($.trim($(a).text()));
return $.trim($(a).text()) > $.trim($(b).text());
};
$(document).ready(function () {
var sorted = $('#DivTipkatCheckboxList label' ).sort(sortByText);
$('#DivTipkatCheckboxList').append(sorted);          
});
.subMenue {
display:none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="DivTipkatCheckboxList">
<h3 style="white-space: nowrap;"><a href="#section1">Перечень БД для поиска</a></h3>

<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[3]" id="TipkatCheckbox3" value="3" checked="checked" />&nbsp; Технические кодексы установившейся практики<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[5]" id="TipkatCheckbox5" value="5" checked="checked" />&nbsp; Технические условия<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[6]" id="TipkatCheckbox6" value="6" checked="checked" />&nbsp; Авиационные правила<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[7]" id="TipkatCheckbox7" value="7" checked="checked" />&nbsp; Зоотехнические правила<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[8]" id="TipkatCheckbox8" value="8" checked="checked" />&nbsp; Санитарные нормы и правила<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[9]" id="TipkatCheckbox9" value="9" checked="checked" />&nbsp; Нормы и правила пожарной безопасности<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[10]" id="TipkatCheckbox10" value="10" checked="checked" />&nbsp; Нормы и правила по обеспечению технической, промышленной, ядерной и радиационной безопасности<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[11]" id="TipkatCheckbox11" value="11" checked="checked" />&nbsp; Правила по обеспечению безопасности перевозки опасных грузов<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[12]" id="TipkatCheckbox12" value="12" checked="checked" />&nbsp; Нормы и правила рационального использования и охраны недр<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[13]" id="TipkatCheckbox13" value="13" checked="checked" />&nbsp; Квалификационные справочники<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[15]" id="TipkatCheckbox15" value="15" checked="checked" />&nbsp; Формы государственных статистических наблюдений и указания по их заполнению<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[16]" id="TipkatCheckbox16" value="16" checked="checked" />&nbsp; Методики по формированию и расчету статистических показателей<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[17]" id="TipkatCheckbox17" value="17" checked="checked" />&nbsp; Инструкции по организации и проведению государственных статистических наблюдений<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[18]" id="TipkatCheckbox18" value="18" checked="checked" />&nbsp; Формы ведомственной отчетности и указания по их заполнению<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[19]" id="TipkatCheckbox19" value="19" checked="checked" />&nbsp; Проекты зон охраны недвижимых материальных историко-культурных ценностей<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[20]" id="TipkatCheckbox20" value="20" checked="checked" />&nbsp; Геодезические, картографические нормы и правила<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[23]" id="TipkatCheckbox23" value="23" checked="checked" />&nbsp; Национальные стандарты Российской Федерации<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[24]" id="TipkatCheckbox24" value="24" checked="checked" />&nbsp; Международные стандарты Комиссии Кодекс Алиментариус<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[25]" id="TipkatCheckbox25" value="25" checked="checked" />&nbsp; Документы Всемирной организации по охране здоровья животных<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[26]" id="TipkatCheckbox26" value="26" checked="checked" />&nbsp; Международные стандарты на фитосанитарные меры<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[27]" id="TipkatCheckbox27" value="27" checked="checked" />&nbsp; Рекомендации Международного союза электросвязи ITU<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[28]" id="TipkatCheckbox28" value="28" checked="checked" />&nbsp; Международные стандарты по безопасности МАГАТЭ<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[29]" id="TipkatCheckbox29" value="29" checked="checked" />&nbsp; Документы Глобального кодекса надлежащей практики в сельском хозяйстве<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[30]" id="TipkatCheckbox30" value="30" checked="checked" />&nbsp; Документы ФАО<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[31]" id="TipkatCheckbox31" value="31" checked="checked" />&nbsp; Техническое законодательство ЕС<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[32]" id="TipkatCheckbox32" value="32" checked="checked" />&nbsp; Стандарты Комитета по торговле ЕЭК ООН<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[33]" id="TipkatCheckbox33" value="33" checked="checked" />&nbsp; Стандарты Международной организации по стандартизации ISO<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[34]" id="TipkatCheckbox34" value="34" checked="checked" />&nbsp; Стандарты Международной электротехнической комиссии IEC<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[35]" id="TipkatCheckbox35" value="35" checked="checked" />&nbsp; Стандарты Европейского комитета по стандартизации CEN<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[36]" id="TipkatCheckbox36" value="36" checked="checked" />&nbsp; Стандарты Европейского комитета по стандартизации в электротехнике CENELEC<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[37]" id="TipkatCheckbox37" value="37" checked="checked" />&nbsp; Стандарты Европейского института по стандартизации в области электросвязи<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[38]" id="TipkatCheckbox38" value="38" checked="checked" />&nbsp; Документы Европейской организации по сотрудничеству в области аккредитации<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[44]" id="TipkatCheckbox44" value="44" checked="checked" />&nbsp; Технические регламенты ЕАЭС (ТС)<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[60]" id="TipkatCheckbox60" value="60" checked="checked" />&nbsp; Технические регламенты Республики Армения<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[61]" id="TipkatCheckbox61" value="61" checked="checked" />&nbsp; Технические регламенты Российской Федерации<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[62]" id="TipkatCheckbox62" value="62" checked="checked" />&nbsp; Технические регламенты Республики Казахстан<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[63]" id="TipkatCheckbox63" value="63" checked="checked" />&nbsp; Технические регламенты Республики Молдова<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[64]" id="TipkatCheckbox64" value="64" checked="checked" />&nbsp; Технические регламенты Кыргызской Республики<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[66]" id="TipkatCheckbox66" value="66" checked="checked" />&nbsp; Технические регламенты Украины<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[72]" id="TipkatCheckbox72" value="72" checked="checked" />&nbsp; Документы ЕАЭС (ТС)<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[81]" id="TipkatCheckbox81" value="81" checked="checked" />&nbsp; Межгосударственные стандарты<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[85]" id="TipkatCheckbox85" value="85" checked="checked" />&nbsp; Национальные стандарты Республики Казахстан<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[86]" id="TipkatCheckbox86" value="86" checked="checked" />&nbsp; Технические регламенты Республики Таджикистан<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[88]" id="TipkatCheckbox88" value="88" checked="checked" />&nbsp; Статистические классификаторы<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[92]" id="TipkatCheckbox92" value="92" />&nbsp; Издания<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[94]" id="TipkatCheckbox94" value="94" />&nbsp; Образовательные стандарты<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[95]" id="TipkatCheckbox95" value="95" />&nbsp; ТНПА, являющиеся структурными элементами научно-методического обеспечения образования<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[97]" id="TipkatCheckbox97" value="97" />&nbsp; Клинические протоколы<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[98]" id="TipkatCheckbox98" value="98" />&nbsp; Экологические нормы и правила<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[99]" id="TipkatCheckbox99" value="99" />&nbsp; Документы Европейской организации по аккредитации<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[100]" id="TipkatCheckbox100" value="100" />&nbsp; Общегосударственные классификаторы Республики Беларусь<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[101]" id="TipkatCheckbox101" value="101" checked="checked" />&nbsp; Государственные стандарты Республики Беларусь<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[102]" id="TipkatCheckbox102" value="102" checked="checked" />&nbsp; Технические регламенты Республики Беларусь<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[103]" id="TipkatCheckbox103" value="103" />&nbsp; Национальные стандарты Республики Армения, Кыргызской Республики под ТР ЕАЭС (ТС)<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[104]" id="TipkatCheckbox104" value="104" />&nbsp; НПА об утверждении, внесении изменений и отмене ТНПА<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[106]" id="TipkatCheckbox106" value="106" />&nbsp; Фармакопейные статьи<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[107]" id="TipkatCheckbox107" value="107" />&nbsp; Правила технической эксплуатации железной дороги<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[108]" id="TipkatCheckbox108" value="108" />&nbsp; Ветеринарно-санитарные правила<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[109]" id="TipkatCheckbox109" value="109" />&nbsp; Зоогигиенические правила<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[110]" id="TipkatCheckbox110" value="110" />&nbsp; Требования по оформлению квалификационных научных работ (диссертаций) и авторефератов<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[111]" id="TipkatCheckbox111" value="111" />&nbsp; Нормы бесплатной выдачи работникам средств индивидуальной защиты, смывающих и обезвреживающих средств<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[112]" id="TipkatCheckbox112" value="112" />&nbsp; Правила и инструкции по охране труда<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[113]" id="TipkatCheckbox113" value="113" />&nbsp; Стандарты проведения расчетов<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[114]" id="TipkatCheckbox114" value="114" />&nbsp; Проекты водоохранных зон и прибрежных полос<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[115]" id="TipkatCheckbox115" value="115" />&nbsp; Градостроительные проекты детального планирования<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[116]" id="TipkatCheckbox116" value="116" />&nbsp; Гигиенические нормативы<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[119]" id="TipkatCheckbox119" value="119" />&nbsp; Схемы землеустройства<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[120]" id="TipkatCheckbox120" value="120" />&nbsp; Структуры и форматы электронных документов<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[122]" id="TipkatCheckbox122" value="122" />&nbsp; Статистические индексы стоимости и индексы изменения стоимости строительно-монтажных работ<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[124]" id="TipkatCheckbox124" value="124" />&nbsp; Строительные правила<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[127]" id="TipkatCheckbox127" value="127" />&nbsp; Строительные нормы<br />
</label>
<label>
<input class="MsUsersSettings" type="checkbox" name="TipkatCheckbox[130]" id="TipkatCheckbox130" value="130" />&nbsp; Нормативы расхода ресурсов в строительстве<br />
</label>
<!--    <hr class="MsThemeHrC MsThemeHrT" />
<input class="MsUsersSettings" type="checkbox" name="OurDocsCheckbox" id="OurDocsCheckbox" value="1" />&nbsp;Наши документы<br />-->
</div>

下面应该对您的列表进行排序。我添加了一行,可以在重新添加所有复选框之前清除部分的内容,这应该可以防止重复的值。

$(document).ready(function () {
var sorted = $('#DivTipkatCheckboxList label' ).sort(sortByText);
$('#DivTipkatCheckboxList').html(''); //clear section
for(let i = 0; i < sorted.length; i++){
$('#DivTipkatCheckboxList').append(sorted[i].innerHTML);
}
});

最新更新