2012-06-27 118 views
1

我在我的視圖中有兩個下拉列表。一個是國家,另一個是州。當我點擊並選擇某個國家時,該國的相應國家必須出現在國家下拉菜單 我使用kendo下拉列表,並能夠使用kendo數據源獲取下拉值 我使用了以下功能進行過濾,但數據未被過濾。 任何能幫助我哪裏出了問題或建議我如何做到這一點如何根據以前的選擇篩選下拉列表

enter code here 

     var sourcedata = new kendo.data.DataSource({ 

        type: "odata", 
        serverFiltering: true, 

        transport: { 

         read: 

         { 
          url: "/Home/State", 
          type: "POST" 
         } 
        } 
       }); 

       $("#cnty").kendoDropDownList({ 
        optionLabel: "Select category...", 
        dataTextField: "ct", 
        dataValueField: "country", 
        dataSource: { 
         type: "odata", 
         serverFiltering: true, 
         transport: { 
          read: "/Home/Country" 
         } 
        }, 
        change: function() { 
         var value = this.value(); 

         if (value) { 
          sourcedata.filter({ 
           field: "country", 
           operator: "eq", 
           value: parseInt(value) 
          }); 
          st.enable(); 
         } else { 
          st.enable(false); 
         } 

         st.select(0); 

        } 
      }); 

感謝一些想法!

+0

你的問題解決了嗎? – Jalpesh

+0

嘿其實我的域名是asp.net mvc3.un很抱歉我的問題沒有解決。感謝解決方案亞爾順便說一句。 – SahithiPinisetty

+0

好的,歡迎親愛的 – Jalpesh

回答

0

我有這個ajax代碼,請嘗試一下,它會在我的網站上完美運行。我沒有jQuery代碼,所以我將要給你AJAX代碼

function ajaxState() 
    { 

     var ajaxRequest; 
     try 
     { 
       ajaxRequest = new XMLHttpRequest(); 
     } 
     catch (e) 
     { 
       try 
       { 
         ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP"); 
       } 
       catch (e) 
       { 
         try 
         { 
           ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP"); 
         } 
        catch (e) 
        { 
          alert("Your browser broke!"); 
          return false; 
        } 
       } 
     } 
     ajaxRequest.onreadystatechange=function() 
     { 
       if(ajaxRequest.readyState==4) 
       { 
         //alert("Response :: "+ajaxRequest.responseText); 
         document.getElementById("statediv").innerHTML=ajaxRequest.responseText; 
       } 
     } 
     var query="ajaxhendler.php?msg=loadstate"; 
     //alert("Request ::" +query); 
     ajaxRequest.open("POST",query,true); 
     ajaxRequest.send(); 
    } 

    function loadcity() 
    { 
        //alert("i m called") 
     var city=document.getElementById("state").value; 
      //alert(city); 
      var ajaxRequest; 

      var ajaxRequest; 
      try 
      { 
        ajaxRequest = new XMLHttpRequest(); 
      } 
      catch (e) 
      { 
        try 
        { 
          ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP"); 
        } 
        catch (e) 
        { 
          try 
          { 
            ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP"); 
          } 
         catch (e) 
         { 
           alert("Your browser broke!"); 
           return false; 
         } 
        } 
      } 

      ajaxRequest.onreadystatechange=function() 
      { 
        if(ajaxRequest.readyState==4) 
        { 
          //alert("Response :: "+ajaxRequest.responseText); 
          document.getElementById("city").innerHTML=ajaxRequest.responseText; 
        } 
      } 
      var query="ajaxhendler.php?msg=loadcity&c="+city; 
      //alert("Request ::" +query); 
      ajaxRequest.open("POST",query,true); 
      ajaxRequest.send();  

    } 
</script> 

和HTML代碼這樣

<body onLoad="ajaxState()"> 
<table> 
<tr> 

    <td>State :</td> 
    <td><div id="statediv"/></td> 
</tr> 
<tr> 
    <td>City :</td> 
    <td><div id="city"/></td> 
</tr> 

</table> 

和查詢

<?php 
$msg=$_GET['msg']; 

if($msg=='loadstate') 
{ 
    load_state(); 
} 
if($msg=='loadcity') 
{ 
    load_city(); 
} 

function load_state() 
     { 
       $cn=mysql_connect("localhost","root",""); 
       mysql_select_db("per_info",$cn); 
       $query="SELECT * FROM tbl_state WHERE loc_parent =0"; 


       if($rs=mysql_query($query)) 
       { 
         echo "<select name=\"state\" id=\"state\" onchange=\"loadcity()\"> 
            <option value=\"\">Select State</option>"; 
         while($row=mysql_fetch_array($rs)) 
         { 
           echo "<option value=\"".$row[loc_id]."\">".$row[loc_name]."</option>"; 
         } 
         echo "</select>"; 
       } 
       else 
       { 
         echo "error"; 
       } 
     } 
//========================================================display city in <select>============================================  
     function load_city() 
     { 
       $state=$_GET['c']; 

       $cn=mysql_connect("localhost","root",""); 
       mysql_select_db("per_info",$cn); 

       $query="SELECT * 
         FROM tbl_state 
         WHERE loc_parent = ".$state; 
       if($rs=mysql_query($query)) 
       { 
         echo "<select name=\"city\" id=\"city\"> 
            <option value=\"\">Select City</option>"; 
         while($row=mysql_fetch_array($rs)) 
         { 

           echo "<option value=\"".$row[loc_id]."\">".$row[loc_name]."</option>"; 
         } 
         echo "</select>"; 
       } 

     } 

我希望它可以幫助你..

相關問題