MyDesign | Kod Arivi - Anasayfaya Dn   No banner in farm
Anasayfa Aratr Forum Gelimi Arama Siteniz in En Hit erikler RSS erik Ekle Scriptler Destekleyenler Kadromuz Reklam letiim Giri Sayfas Yap  Sk Kullanlanlara Ekle
Bu Kategorinin En Yeni Kodlar:


Bu Kategorinin En ok Grntlenen Kodlar:






Arama:
Gelimi Arama


No banner in farm



En ok Grntlenen Kodlar:


ye Girii:
 ye Ol



Anasayfa > Ajax - Atlas > Kodlar

Ajax ile birbirine göre değişen seçim kutuları

İlk seçim kutusundan bir ülke seçildiğinde, ikinci seçim kutusunda, o ülkenin şehirleri listelenir. İşlem Ajax ile yapılır ve sayfa yeniden yüklenmesine gerek kalmaz.

Ajax  Combobox  XMLHttpRequest  XMLHTTP  Xml 

Kategori : Ajax - Atlas
Gnderen : mYavuz
Telif : Rupalilakka
Tarih : 22 Mart 2007
rnek Dosya : Bulunmamakta
Okunma Says : 20594
Puan
: 8,8 / 10 (15 Oy)
Puan Verin :
Google Bookmarks  del.icio.us  Digg  Yahoo! MyWeb  Windows Live  Furl
 
 
--------------------------------------------------------------------------------
ajaxscripting.js
--------------------------------------------------------------------------------

<script type="text/javascript">
var xmlHttp;
function createXMLHttpRequest() {
    if (window.ActiveXObject) {
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    } 
    else if (window.XMLHttpRequest) {
        xmlHttp = new XMLHttpRequest();
    }
}

function doRequestUsingGETCountry(url) {
   
    createXMLHttpRequest();
    queryString =   url ;
    queryString = queryString + "&selcountry="+document.forms[0].country.options[document.forms[0].country.selectedIndex].value;
    xmlHttp.onreadystatechange = handleStateChange;
    xmlHttp.open("GET", queryString, true);
    xmlHttp.send(null);
}

function handleStateChange() {
    if(xmlHttp.readyState == 4) {
        if(xmlHttp.status == 200) {
          parseResults();
        }
    }
}
function parseResults() {
            var responseText = document.createTextNode(xmlHttp.responseText);
            var returnElements=xmlHttp.responseText.split("||");
          //Process each of the elements      
          for ( var i=0; i<returnElements.length; i++ ){
             
             if(returnElements[i]!="")
            {
             valueLabelPair = returnElements[i].split(";")
             document.getElementById('state').options.length= returnElements.length;     
             document.getElementById('state').options[i] = new Option(valueLabelPair[0], valueLabelPair[1]);
            } 
        }
}
function inc(filename)
{
var body = document.getElementsByTagName('body').item(0);
script = document.createElement('script');
script.src = filename;
script.type = 'text/javascript';
body.appendChild(script)
}

--------------------------------------------------------------------------------
dependantComboExample.jsp
--------------------------------------------------------------------------------
<%@page import="ajaxsample.SampleForm,java.util.*"%>
<%@include file="taglibs.jsp"%>
<%@include file="ajaxscripting.js"%>

<head>
</head>

<body onLoad="doRequestUsingGETCountry('/struts-ajax/DependantComboExample.do?');">

<html:form action="DependantComboExample.do" >

  <h1></h1>
  <table>
    <tbody>
        <tr>
            <td>Country</td>
              <td>
                <html:select property="country" name="inputForm" onchange="doRequestUsingGETCountry('/struts-ajax/DependantComboExample.do?');">
                    <html:options collection="countries" property="value" labelProperty="label"/>
                </html:select>
               </td>
               <td>
               <html:select property="state" name="inputForm" >
                    <html:options collection="states" property="value" labelProperty="label" />
                </html:select>                  
               </td>
        </tr>
    </tbody>
  </table>
  
</html:form>
</body>
</script>

------------------------------------------------------------------
GetAndPostExample
------------------------------------------------------------------


package ajaxsample;

import java.io.*;
import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import java.util.ArrayList;
import org.apache.struts.action.ActionServlet;
import org.apache.struts.util.LabelValueBean;

public class GetAndPostExample extends Action {
    
    ServletContext context = null;
    
    public void setServlet(ActionServlet servlet)
    {
        context =  servlet.getServletContext();
    }
   public ActionForward execute(ActionMapping mapping, ActionForm inForm, 
           HttpServletRequest request, HttpServletResponse response) throws Exception {
           response.setContentType("text/xml");

          String optionSelected = request.getParameter("selcountry");        
         //Build the response text
         
         SampleForm sform = (SampleForm)inForm;
         ArrayList countries = (ArrayList)context.getAttribute("countries");
         ArrayList states = (ArrayList)context.getAttribute("states");
         ArrayList newStates = new ArrayList();
         String responseText = "";
         //sending response text in the format label:value||label;value
         for(int i=0;i<states.size();i++)
         {
            LabelValueBean temp = (LabelValueBean)states.get(i);
            if(temp.getValue().startsWith(optionSelected))
            {
                    newStates.add(temp); 
                    responseText = temp.getLabel()+";"+temp.getValue()+"||"+responseText; 
            }
         }
         if(responseText.endsWith("||"))   //chop off the ending ||
         {
             responseText = responseText.substring(0, responseText.lastIndexOf("||"));
         }
         PrintWriter out = response.getWriter();
         out.println(responseText);
        //Close the writer
        out.close();
        return(mapping.findForward("content1"));
   }
  }
------------------------------------------------------------------
CacheServlet.java
------------------------------------------------------------------

package ajaxsample;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import java.io.IOException;
import org.apache.struts.util.LabelValueBean;
import java.util.*;
/**
 *
 * @author rupali_l
 */
public class CacheServlet extends HttpServlet {
    
    
    /** Creates a new instance of CacheServlet */
    public void init() throws ServletException {
   
      
        System.out.println("In do get of CacheServlet");
        ArrayList countries = new ArrayList(); 
        countries.add(new  LabelValueBean("India", "1" ));
        countries.add(new  LabelValueBean("U.S","2"));
        countries.add(new  LabelValueBean( "Australia","3"));
        
        ArrayList states = new ArrayList(); 
        states.add(new  LabelValueBean("Maharashtra","11"));
        states.add(new  LabelValueBean( "Delhi","12"));
        states.add(new  LabelValueBean("Goa","13"));
        states.add(new  LabelValueBean( "Newjersey","21"));
        states.add(new  LabelValueBean("NewYork","22"));
        states.add(new  LabelValueBean( "California","23"));
        states.add(new  LabelValueBean("Sydney","31"));
        getServletContext().setAttribute("countries", countries);
        getServletContext().setAttribute("states", states);
        
       
    }
        
    
    public void doGet(HttpServletRequest request ,HttpServletResponse response) throws ServletException,
    IOException
    {
        // request.getRequestDispatcher
    }       
            
    
}
------------------------------------------------------------------
web.xml
------------------------------------------------------------------


<web-app>
  <display-name>Struts Blank Application</display-name>
  
  <!-- Standard Action Servlet Configuration (with debugging) -->
  <servlet>
    <servlet-name>CacheServlet</servlet-name>
    <servlet-class>ajaxsample.CacheServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
  </servlet>

  
  <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
      <param-name>config</param-name>
      <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <init-param>
      <param-name>debug</param-name>
      <param-value>2</param-value>
    </init-param>
    <init-param>
      <param-name>detail</param-name>
      <param-value>2</param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
  </servlet>

  <!-- Standard Action Servlet Mapping -->
  <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>


  <!-- The Usual Welcome File List -->
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>


  <!-- Struts Tag Library Descriptors -->
  <taglib>
    <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
  </taglib>

  <taglib>
    <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-html.tld</taglib-location>
  </taglib>

  <taglib>
    <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
  </taglib>

  <taglib>
    <taglib-uri>/WEB-INF/struts-nested.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-nested.tld</taglib-location>
  </taglib>

  <taglib>
    <taglib-uri>/WEB-INF/struts-tiles.tld</taglib-uri>
    <taglib-location>/WEB-INF/struts-tiles.tld</taglib-location>
  </taglib>

</web-app>

struts-config.xml


<!-- ================================================ 
<struts-config>
<!-- ================================================

    <form-beans>
    
     <!-- <form-bean name="sampleForm" type="ajaxsample.SampleForm"/>
    -->
    
    <!-- sample form bean descriptor for an ActionForm-->
        <form-bean
            name="inputForm"
            type="ajaxsample.SampleForm"/>
 </form-bean>
    
    </form-beans>
 <action-mappings>
<action path="/DependantComboExample" type="ajaxsample.GetAndPostExample" 
         name="inputForm" scope="request" validate="false" >
         
         <!-- Partial Ajax Content-->
    <forward name="content1" path="/dependantComboExample.jsp" />

</action-mappings>

</struts-config>
 
 

Ajax ile birbirine göre değişen seçim kutuları iin yazlan yorumlar

burak  { 09 Nisan 2011 }
İnanın hiçbirşey anlamadım. bende kodlarla uğraşıyorum ama, kodları editöre ekledim ama çalışmadı bile. bunu çalışır şekilde dosya halinde verseniz.

mehmet   { 15 Şubat 2008 }
ben bişey anlamadım bundan, (acemiliyimden yanlış anlamayın)
html olarak kodları kaydettim çalışmadı. nasıl yapıcaz bunu?

Cihangir Devrim   { 26 Aralık 2007 }
Güzel çalışma, paylaşım için teşekkürler...

yasin   { 16 Eylül 2007 }
Ya bunu böyle verene kadar dosylarını direk indirilebilir halde verseydiniz daha iyi olurdu. Bilmeyenler için kullanması zor.

Yorum ekleyin

Anasayfa > Ajax - Atlas > Kodlar > Ajax ile birbirine göre değişen seçim kutuları
Kategoriler:


Forum:



Balantlar:



    En Son Yorumlanan erikler:


    Murat Yavuz | Site Haritas | Gizlilik Bildirimi | 3.233.239.102 | 0,14 Saniye
    © Copyright 2004-2020 MyDesign | Kod Arivi. Tm Haklar Sakldr.
    MyDesign | Kod Arivi, en iyi grnm iin, 1024x768 ve zeri znrlk tavsiye eder.