Замена символов. Простой вопрос
Здравствуйте, уважаемые форумчане!
Столкнулся с вопросом, есть код: $(document).ready(function(){ $('[name=MARKA]').change(function(){ $.ajax({ type: "POST", url: "<?=SITE_DIR?>search/marka.php", data: { country: $(this).val() } }).done(function( msg ) { $obj = eval(msg); $("[name=MODEL]").empty(); $("[name=MODEL]").append("<option value='0'>Все</option>"); $.each($obj,function(key,val){ $("[name=MODEL]").append($('<option>'+val["NAME"]+'</option>').attr('value',val["ID"])); }); $("[name=MODEL]").each(function () { $.data(this, 'combosex').API.updateOptions(); }); }); }); }); мне нужно вместо [name=MODEL] и [name=MARKA] сделать [name=arrFilter_pf[MARKA] и [name=arrFilter_pf[MODEL]]. Если сделать так, как я написал - скрипт не работает. Помогите, как реализовать задуманное. Данный скрипт предназначен для отсеивания количества результатов второго select, т.е. в первом мы выбираем марку и на основе нее второй селект заполняется моделями, относящимися только в данной марке. Для большего понимания прикладываю весь код, возможно кто-нибудь предложит более корректный вариант реализации. За ранее спасибо! <?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?> <script> $(document).ready(function(){ $('[name=arrFilter_pf[MARKA]]').change(function(){ $.ajax({ type: "POST", url: "<?=SITE_DIR?>search/marka.php", data: { country: $(this).val() } }).done(function( msg ) { $obj = eval(msg); $("[name=arrFilter_pf[MODEL]]").empty(); $("[name=arrFilter_pf[MODEL]]").append("<option value=''>Все</option>"); $.each($obj,function(key,val){ $("[name=arrFilter_pf[MODEL]]").append($('<option>'+val["NAME"]+'</option>').attr('value',val["ID"])); }); $("[name=arrFilter_pf[MODEL]]").each(function () { $.data(this, 'combosex').API.updateOptions(); }); }); }); }); </script> <?if(CModule::IncludeModule("iblock")) { $rs_country = CIBlockElement::GetList(array("NAME"=>"ASC"),array("IBLOCK_ID"=>5),array("ID", "NAME")); $rs_hotel = CIBlockElement::GetList(array("NAME"=>"ASC"),array("IBLOCK_ID"=>2),false,false,array("ID","NAME")); while($el = $rs_hotel->GetNext()) { $hotels[] = $el; } while($el = $rs_country->GetNext()) { $country[] = $el; } } ?> <form name="<?echo $arResult['FILTER_NAME']."_form"?>" action="<?echo $arResult['FORM_ACTION']?>" method="get" class="ts-form ts-filter"> <?foreach($arResult['ITEMS'] as $arItem): if(array_key_exists("HIDDEN", $arItem)): echo $arItem['INPUT']; endif; endforeach;?> <?if(!empty($arParams['FILTER_TITLE'])):?> <h3><?=$arParams['FILTER_TITLE'];?></h3> <?endif;?> <div class="ts-items"> <div name="state" class="cell"> <label for="select1">Марка:</label> <select name="arrFilter_pf[MARKA]" id="select1"> <? echo "<option value=''>Все</option>"; foreach ($country as $el) { echo "<option value='".$el["ID"]."'>".$el["NAME"]."</option>"; } ?> </select> </div> <div class="cell"> <label for="select2">Модель:</label> <select name="arrFilter_pf[MODEL]" id="select2"> <option value="">Все</option> <? foreach ($hotels as $el) { echo "<option value='".$el["ID"]."'>".$el["NAME"]."</option>"; } ?> </select> </div> <div class="cell"> <label for="select3">Год выпуска:</label> <select name="GOD" id="select3"> <option value="">Все</option> <? $res_day=CIBlockPropertyEnum::GetList(Array("SORT"=>"ASC"), Array("IBLOCK_ID"=>3, "CODE"=>"GOD")); while($enum_fields = $res_day->GetNext()) { echo "<option value='".$enum_fields["ID"]."'>".$enum_fields["VALUE"]."</option>"; } ?> </select> </div> </div> <div class="ts-buttons" style="text-align: <?=$arParams['BUTTON_ALIGN'];?>"> <input type="hidden" name="set_filter" value="Y" /> <button type="submit" name="set_filter" value="<?=GetMessage("IBLOCK_SET_FILTER")?>"><?=GetMessage("IBLOCK_SET_FILTER");?></button> <button type="submit" name="del_filter" value="<?=GetMessage("IBLOCK_DEL_FILTER")?>"><?=GetMessage("IBLOCK_DEL_FILTER");?></button> </div> </form> |
Неужели никто не знает? Ребят, очень надо!!!!!
|
В таком даже заядлые и не исправимые альтруисты ковыряться не будут.
Имхо тебе нужно научится разделять серверные скрипты разметку и скрипты на клиенте |
Юзай $('[name="arrFilter_pf\\[MARKA\\]"]') и $('[name="arrFilter_pf\\[MODEL\\]"]') соответственно.
|
Часовой пояс GMT +3, время: 11:33. |