jQuery 에서 Chosen 3 급 연동 기능 인 스 턴 스 코드

Chosen 은 JavaScript 플러그 인 입 니 다.추 하고 긴 select 선택 상 자 를 더욱 예 쁘 고 편리 하 게 만 들 수 있 습 니 다.뿐만 아니 라 주동 적 으로 선별 하 는 기능 도 확대 되 었 습 니 다.
본 고 는 Chosen 연동 을 소개 하고 구체 적 인 코드 는 다음 과 같다.

var addressResolve = function (options) {
  //              
  if (!isValid(options))
    return this;
  //    
  var defaluts = {
    proId: 'divProv',
    cityId: 'divCity',
    areaId: 'divArea'
  };
  var opts = $j.extend({}, defaluts, options);//  jQuery.extend         
  var addressInfo = this;
  this.provInfo = $j("#" + opts.proId);//  select  
  this.cityInfo = $j("#" + opts.cityId);//  select  
  this.areaInfo = $j("#" + opts.areaId);//  select  
  /*       */
  this.provInfoInit = function () {
    var proOpts = "";
    $j.each(provinceJson, function (index, item) {
      proOpts += "<option value='" + item.ProID + "'>" + item.name + "</option>";
    });
    addressInfo.provInfo.append(proOpts);
    addressInfo.provInfo.chosen(); //   chosen
    addressInfo.cityInfo.chosen();//   chosen
    addressInfo.areaInfo.chosen();//   chosen
  };
  /*        */
  this.selectCity = function () {
    addressInfo.cityInfo.empty();
    addressInfo.cityInfo.append("<option value=    >    </option>");
    addressInfo.areaInfo.empty();
    addressInfo.areaInfo.append("<option value=    >    </option>");
    if (addressInfo.provInfo.val() == "    ") { //         
      addressInfo.cityInfo.trigger("liszt:updated");
      addressInfo.areaInfo.trigger("liszt:updated");
      return;
    }
    var provId = addressInfo.provInfo.val();//        
    var cityOpts = "";
    $j.each(cityJson, function (index, item) {
      if (item.ProID == provId) {
        cityOpts += "<option value='" + item.CityID + "'>" + item.name + "</option>";
      }
    });
    addressInfo.cityInfo.append(cityOpts);
    addressInfo.cityInfo.trigger("liszt:updated");
    addressInfo.areaInfo.trigger("liszt:updated");
  };
  /*        */
  this.selectArea = function () {
    if (addressInfo.cityInfo.val() == "    ") return;
    addressInfo.areaInfo.empty();
    addressInfo.areaInfo.append("<option value=    >    </option>");
    var cityId = addressInfo.cityInfo.val();//        
    var areaOpts = "";
    $j.each(areaJson, function (index, item) {
      if (item.CityID == cityId) {
        areaOpts += "<option value='" + item.Id + "'>" + item.DisName + "</option>";
      }
    });
    addressInfo.areaInfo.append(areaOpts);
    addressInfo.areaInfo.trigger("liszt:updated");
  };
  /*       */
  this.init = function () {
    addressInfo.provInfo.append("<option value=    >    </option>");
    addressInfo.cityInfo.append("<option value=    >    </option>");
    addressInfo.areaInfo.append("<option value=    >    </option>");
    addressInfo.provInfoInit();
    addressInfo.provInfo.bind("change", addressInfo.selectCity);
    addressInfo.cityInfo.bind("change", addressInfo.selectArea);
  }
  //    ,        
  function isValid(options) {
    return !options || (options && typeof options === "object") ? true : false;
  }
}
위 에서 말 한 것 은 소 편 이 소개 한 jQuery 에서 Chosen 3 급 연동 인 스 턴 스 코드 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.소 편 은 제때에 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기