-2

我有两个下拉列表,城市和国家。城市下拉列表是根据国家下拉列表选择动态填充的。所以我正在尝试验证城市下拉列表以确保选择了一个城市。

下面是我用来将项目附加到 City 下拉列表的 appendCity 函数。不幸的是,它似乎不起作用,所以有人可以检查一下并告诉我我在这里缺少什么吗?以及如何解决?

function appendCity(id,cityName){
    $('#city').append("<option id='"+id+"'>" + cityName + "</option>");           
}

负责将数据追加到 City 下拉列表的 JS 代码:

    function loadCities(citiesLst){
        clearCities();
        var arr=citiesLst.split(",");
        for(var i=0;i<arr.length;i++){
            var cityArr=arr[i].split("#");
            appendCity(cityArr[0],cityArr[1]);
        }

        $('#city').rules("add", { required:true, min:1 });
    }

    function clearCities(){
        $('#city').find('option').remove();
    }

    function appendCity(id,cityName){
        $('#city').append("<option id='"+id+"'>" + cityName + "</option>");
    }

HTML:

  <select id ="country" name="country" onchange="loadCities()">
    <option  value="0" selected="selected">--select--</option>
      <c:forEach var="countrylst" items="${countriesList}">
        <option  value="${countrylst.id}">${countrylst.countryName}</option>
      </c:forEach>
  </select>             

  <select id="city" name="city">
    <option  value="0" selected="selected">--select--</option>
  </select>     
4

1 回答 1

-1

改变

$('#city option[id='+id+']').rules("add", { required:true, min:1 });

$('#city').rules("add", { required:true, min:1 });

并将其从功能中取出

编辑

loadCities函数循环后添加验证规则

function loadCities(citiesLst){
    clearCities();
    var arr=citiesLst.split(",");
    for(var i=0;i<arr.length;i++){
        var cityArr=arr[i].split("#");
        appendCity(cityArr[0],cityArr[1]);
    }
    // HERE
    $('#city').rules("add", { required:true, min:1 });
}
于 2013-11-06T15:48:40.003 回答