Использование JavaScript для построения HTML-списка данных работает в FireFox, но неверные результаты в Chrome - PullRequest
0 голосов
/ 04 мая 2019

Я пытаюсь заполнить HTML-список данных заявок значениями в выбранном массиве по номеру карты. У меня есть кнопка действия в форме, и JavaScript - это функция. Он отлично работает в FireFox и возвращает заявки в массиве для выбранной карты. Chrome дает неверный список претензий.

Выбор карты 2 дает правильный список в FireFox: Ceedee # 1 и Ceedee # 2. Chrome предоставляет Ceedee # 1 и Ceedee # 2, а также первые три утверждения для карты 3. При выборе карты 1 в Chrome отображаются утверждения Map 1, а также первые два утверждения для карты 3 и первое утверждение для карты 2. Существует строка отображается в списке после правильных претензий. Это Windows 10. Спасибо за помощь!

    <!--HTML form for the map selection, function button, and claims list:-->
    <div class="formRow">
    <label for="theMap">The claim was on which map? *</label>
    <fieldset>
    <input name="map" id="theMap" type="text" placeholder="Select Map Number" required list="mapList" />
    <datalist id="mapList">
    <option value="1" >
    <option value="2" >
    <option value="3" >
    </datalist>
    </fieldset>
    </div>
    <div class="claimRow">
    <fieldset>
    <input type="button" name="findClaims" value="After selecting a map, click to get the claims list for the map" onclick="getClaims(this.form)">
    </fieldset>
    </div>
    <div class="claimRow">
    <label for="theClaim">Which claim did you visit?</label>
    <fieldset>
    <input name="claim" id="theClaim" type="text" placeholder="Select claim name" list="claimsList" />
    <datalist id="claimsList" >
    </datalist>
    </fieldset>
    </div>

    <script>
    function getClaims (form) {   // Runs when the button is pushed on the form
    var str=''; // variable to store the options
    var claimsArray = new Array();
    var map1 = new Array("Caitlin", "Roadrunner", "More Values");
    claimsArray.push(map1);
    var map2 = new Array("Ceedee #1", "Ceedee#2");
    claimsArray.push(map2);
    var map3 = new Array("Happy Times", "Jacks Hideaway", "Renee's Best Chance", "Saddle Traps");
    claimsArray.push(map3);
    var claim = claimVisit.theMap.value;
    --claim;    // change the map number to an index value
    for (var i=0; i < claimsArray[claim].length;++i){ 
    str += '<option value="'+claimsArray[claim][i]+'" />'; // Storing options in variable
    }

    var my_list=document.getElementById("claimsList");
    my_list.innerHTML = str;
    }
    </script>

1 Ответ

0 голосов
/ 04 мая 2019
var claim = theMap.value;

Претензия здесь не используется.достаточно идентификатора

...