2014-01-29 54 views
0

我有一個鏈接選擇工作正常,但不是所有的SELECT 1中的值導致SELECT 2中的值,所以我想隱藏SELECT 2,除非它有東西顯示。鏈接選擇只顯示第二個框,如果可以填充

我用這對我的JS:

<script type="text/javascript"> 
    $(document).ready(function() { 
     $(".select1").change(function() { 
      var id=$(this).val(); 
      var dataString = 'id='+ id; 
      $.ajax ({ 
       type: "POST", 
       url: "ajax_load.php", 
       data: dataString, 
       cache: false, 
       success: function(html) { 
        $(".select2").html(html); 
       } 
      }); 
     }); 
    }); 
</script> 

,然後我設置我的第二選擇,以顯示:無,所以我怎麼能做出這麼第二選擇出現和消失取決於框中的值1?

感謝

+0

我承擔如果沒有可供選擇的顯示,你的AJAX返回是簡單的空白?因此,請檢查回調參數'html'的內容,並採取相應措施... – CBroe

回答

1

試試這個:

<script type="text/javascript"> 
    $(document).ready(function() { 
     $(".select2").hide(); 
     $(".select1").change(function() { 
      var id = $(this).val(); 
      var dataString = 'id=' + id; 
      $.ajax({ 
       type: "POST", 
       url: "ajax_load.php", 
       data: dataString, 
       cache: false, 
       beforeSend: function() { 
        $(".select2").hide(); 
       } 
       success: function (html) { 
        $(".select2").show(); 
        $(".select2").html(html); 
        var length = $('.select2 > option').length; 
        if(length>0){ 
         $(".select2").show(); 
        }else{ 
         $(".select2").hide(); 
        } 
       } 
      }); 
     }); 
    }); 
</script> 
+0

謝謝,這個訣竅 - 必須弄清楚如何在編輯/加載時使其工作,但希望這有助於我走上正軌! – bhttoan

+0

努力得到這個工作在我正在編輯的表單上,所以select1被填充,並且select2框可能會或可能不會被填充取決於select1中的值 - 我想我需要基於onload的東西,但不會丟失onchange,如果他們選擇改變,那麼它應該仍然工作,因爲它目前的工作 – bhttoan

+0

爲此,你應該採取一個隱藏字段在PHP文件和該字段的值必須是記錄ID將被編輯和檢查在jquery中,如:if($ ( 「#HIDDEN_FIELD_ID」)。VAL()!= 「」){$(」選擇2" )。節目()} –

1

/**當變化發生選擇隱藏1選擇2.顯示2僅選擇,如果它的價值**/

$(document).ready(function() { 
      $(".select1").change(function() { 
       var id=$(this).val(); 
       var dataString = 'id='+ id; 
       $.ajax ({ 
        type: "POST", 
        url: "ajax_load.php", 
        data: dataString, 
        cache: false, 
        success: function(html) { 
         $(".select2").show(); 
         $(".select2").html(html); 
        }, 
        error : function() { $(".select2").hide(); } 
       }); 
       var select2Length = $('.select2> option').length; 
       if(select2Length > 0) 
        $(".select2").hide(); 
       else 
        $(".select2").show() 
      }); 
     }); 
相關問題