일부 기존 코드를 지원하고 새로운 기능을 구현하는 데 몇 가지 문제가 있습니다.새로운 옵션에서 배열을 필터링하여 새로운 옵션을 반환합니다.
두 개의 선택 옵션이 있습니다. 첫 번째는 상태 목록을 표시하고 두 번째는 도시 목록을 보여줍니다. 첫 번째 선택에서 선택한 상태에 따라 도시 목록이 필터링됩니다.
현재 도시는 선택 옵션에 관련 옵션을 첨부하기 위해 if 문에서 사용되는 javascript 배열에 포함되어 있습니다.이 옵션은 단일 상태 선택에서만 작동합니다.
여러 주 선택에서 도시를 필터링하려면 어떻게해야합니까?
많은 행운과 함께 if 문 조합을 시도했습니다. 내 jquery 지식은 분명히 부족하고 구글/stackoverflow에서 비슷한 아무것도 발견하지 못했습니다 - 그러나 나는 잘못된 각도에서 접근 수 있습니다 감사합니다.
<form name="newform">
<select multiple size="10" name="getStateSelect" id="getStateSelectID" onchange="GetSeries(document.newform.getStateSelect.options [document.newform.getStateSelect.selectedIndex].value);">
<option value="1">Alaska</option>
<option value="2">Arizona</option>
<option value="3">Californa</option>
</select>
<br />
<br />
<select id="getCitySelect" multiple="multiple" size="10"></select>
</form>
var fsArray = [{id: 1,stateid: 1,cityname: "Anchorage"},
{id: 2,stateid: 1,cityname: "Fairbanks"},
{id: 3,stateid: 1,cityname: "Wasilla"},
{id: 4,stateid: 2,cityname: "Flagstaff"},
{id: 5,stateid: 2,cityname: "Phoenix"},
{id: 6,stateid: 2,cityname: "Tucson"},
{id: 7,stateid: 3,cityname: "Fremont"},
{id: 8,stateid: 3,cityname: "Lakeport"},
{id: 9,stateid: 3,cityname: "Los Angeles"}];
function GetSeries(i) {
var SeriesSelectBox = document.getElementById("getCitySelect");
SeriesSelectBox.options.length = 0;
for (j in fsArray) {
if (fsArray[j].stateid == i) {
var seriesLength = SeriesSelectBox.options.length;
SeriesSelectBox.options[seriesLength] = new Option(fsArray[j].cityname, fsArray[j].id);
}
}
}
http://jsfiddle.net/fcp3h7mw/1/
어떤 도움이 크게 감사합니다! 감사합니다.
이 답변 주셔서 감사합니다 마크 업에 함수 호출을 많이 꺼내 둘 내가 가진 문제를 해결하십시오. 최소의 코드가 필요하므로이 대답을 가장 도움이되는 것으로 선택했습니다. –