2013-05-29 30 views
0

基本上我使用JQuery/Javascript來填充我的下拉列表中的幾個,但在回發之後,它被全部重置並且是空的。所以我必須再次單擊按鈕來填充它們,並讓用戶選擇值。如何在回發後通過jQuery檢索的下拉列表中維護值

手動defiend選項的下拉列表保留其選定的位置等...我怎樣才能確保其他ddl的值也持續?

下面是代碼:

<script type="text/javascript"> 

    (function ($) { 
     $.fn.cascade = function (options) { 
      var defaults = {}; 
      var opts = $.extend(defaults, options); 

      return this.each(function() { 
       $(this).change(function() { 
        var selectedValue = $(this).val(); 
        var params = {}; 
        params[opts.paramName] = selectedValue; 
        $.getJSON(opts.url, params, function (items) { 
         opts.childSelect.empty(); 
         $.each(items, function (index, item) { 
          opts.childSelect.append(
           $('<option/>') 
            .attr('value', item.Id) 
            .text(item.Name) 
          ); 
         }); 
        }); 
       }); 
      }); 
     }; 
    })(jQuery); 

    $(function() { 
     $('#loc').cascade({ 
      url: '@Url.Action("First")', 
      paramName: 'aId', 
      childSelect: $('#loc1') 
     }); 

     $('#loc1').cascade({ 
      url: '@Url.Action("Second")', 
      paramName: 'sId', 
      childSelect: $('#loc2') 
     }); 
    }); 

</script> 

此代碼只是調用返回值

+0

代碼將是一個寬限期.. –

+0

好吧,只需一秒鐘,生病更新 – Alnedru

+0

也許我有這樣的東西,非常相似的要求,更新DDL從一個AJAX響應,但需要先看看你的代碼。 –

回答

0

我有一個非常類似的做法的列表中的一些服務器端功能:

jQuery.each(resObject.gaData, function(i, o) 
{ 
    val = o.id; 
    text = o.name + " (" + o.status + "/" + o.serving + ")"; 
    jQuery('#gacampaign').append(jQuery('<option></option>').val(val).html(text) ); 
    if (someVar == val) 
    { 
     jQuery("#gacampaign option[value='" + val + "']").attr('selected',true); 
    } 
}); 

這是在AJAX POST的成功處理程序中,所以,不是那種通用的,而是非常相似的。唯一的差異是:

您的代碼:

opts.childSelect.append($('<option/>').**attr**('value', item.Id).**text**(item.Name)); 

我的代碼:

jQuery('#gacampaign').append(jQuery('<option></option>').**val**(val).**html**(text)); 

而對於排空箱我用

jQuery("#gacampaign option").remove(); 
+0

你認爲這可能解決這個問題? +我真的不明白如何解決這個問題到我的代碼lol – Alnedru

+0

它真的無法正常工作:/我的意思是它具有相同的效果,它後回發 – Alnedru

相關問題