Как добавить querySelector с неизвестным окончанием?

Есть вот такой скрипт:
<script type="text/javascript">
<!--
// Формируем массив городов
var aHouseValues = new Array(
"-- Select city --",
<?php echo $district; ?>
);

// ф-ция, возвращающая массив городов по заданной стране
function getHouseValuesByStreet(index){
    var sHouseValues = aHouseValues[index];
    return sHouseValues.split(","); // преобразуем строку в массив городов
}

// ф-ция, выводящая динамически список городов
function MkHousefromValues(index){
    var aCurrHouseValues = getHouseValuesByStreet(index);
    var nCurrHouseValuesCnt = aCurrHouseValues.length;
    var oHouseList = document.querySelector("._from_where select[name=fromdistrict_1]");
    var oHouseListOptionsCnt = oHouseList.options.length;
    oHouseList.length = 0; // удаляем все элементы из списка городов
    for (i = 0; i < nCurrHouseValuesCnt; i++){
        // далее мы добавляем необходимые города в список
        if (document.createElement){
            var newHouseListOption = document.createElement("OPTION");
            newHouseListOption.text = aCurrHouseValues[i];
            newHouseListOption.value = aCurrHouseValues[i];
            // тут мы используем для добавления элемента либо метод IE, либо DOM
            (oHouseList.options.add) ? oHouseList.options.add(newHouseListOption) : oHouseList.add(newHouseListOption, null);
        }else{
            // для NN3.x-4.x
            oHouseList.options[i] = new Option(aCurrHouseValues[i], aCurrHouseValues[i], false, false);
        }
    }
}
//-->
</script>


На странице есть несколько вот таких селектов:
<select name="fromcity_1" class="text" id="fromcity_1" onChange="MkHousefromValues(this.selectedIndex)" from1onchange="mChange1(this);">
				<option value="">-- Please Select --</option>
                <?php foreach ( $citynameq as $citynamep ) { ?>
                <option value="<?php echo $citynamep->city;?>"><?php echo $citynamep->city;?></option>
                <?php } ?>
                </select>
                Район:
                <select name="fromdistrict_1" class="text" id="fromdistrict_1">
                <option value="N/A">N/A</option>
                </select>


Но так же селекты добавляются по кнопке. Выглядят они точно так же, но только у них меняется name и id. То есть как мне сделать, чтобы скрипт видел селекты не только с name "fromdistrict_1" но и fromdistrict_2 fromdistrict_3 и fromdistrict_10412 ?
  • Вопрос задан
  • 2372 просмотра
Пригласить эксперта
Ответы на вопрос 3
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Дайте им всем какой-то класс, и выбирайте не по имени, а по этому классу.
Ответ написан
Комментировать
disc
@disc
веб-разработчик
$("select[name^=fromdistrict_]")
Ответ написан
Комментировать
mlnkv
@mlnkv
JavaScript Developer
это что за код, для каких браузеров?

это для чего?
<script>
<!-- 
//-->
</script>


а это?
if  (document.createElement) {oHouseList.add(newHouseListOption, null);
} else {
  // для NN3.x-4.x -- че за?? Netscape Navigator???
}


а по вопросу, в методе uerySelector используется css синтаксис выборки:
document.querySelector("[attr=value]") // точное значение атрибута
document.querySelector("[attr^=value]") // значение атрибута начинается на value
document.querySelector("[attr*=value]") // значение атрибута содержит value
document.querySelector("[attr$=value]") // значение атрибута заканчивается на value
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы