jeudi 1 juin 2017

Dynamic struts2 checkbox loading using jquery

As per requirement I have to do dynamic checkbox in struts2 . Like for first action call a checkbox list will appear and selecting on any of the checkbox another set of checkboxes will loaded in the div. I use struts2 iterator to loop through the checkbox and create a dynamic div after each checkbox and call an action through jquery. The action is called and the result is also shown in console but it is not loaded in the div.code is given below First JSP:

    <s:iterator value="categoryList" var="eachCheck">
                        <s:checkbox name="%{#eachCheck}" id="%{#eachCheck}" cssClass="category_checkbox" labelposition="left"  label="%{#eachCheck}"/> 
                        <s:div id="%{#eachCheck}"></s:div>

JQUERY CODE:

    $(document).ready(function() {
$('.category_checkbox').click(function(){
    var checked = $(this).is(':checked');
    if(checked)
    {

        var checkbox_id=$(this).attr("id");
        console.log(checkbox_id);
        var loaded_div="#"+checkbox_id;
        $.ajax({
            type:"POST",
            url : "loadSubCategory",
            data : "categoryName="+checkbox_id,
            beforeSend:function(){
            },
            success:function(data,textStatus){

               // alert("data "+data);
               // alert("textStatus "+textStatus);
                console.log(data);
                console.log(textStatus);
                $(loaded_div).html(data);
               // alert("after ");
            },
            error: function (jqXHR, exception) {
                console.log(jqXHR);
                console.log(exception);
            //  getErrorMessage(jqXHR, exception);
            }
        });
    }


});

});

    SECOND JSP:

    <s:iterator value="subcategoryList" var="eachSub">
<s:checkbox name="%{#eachSub}" id="%{#eachSub}"  labelposition="left"  label="%{#eachSub}"/> 
  <s:div id="%{#eachSub}"></s:div>

ACTION CLASS

    public class DiagnosticCentreAction extends ActionSupport {

private List categoryList;
private List subcategoryList;
private String categoryName;

public DiagnosticCentreAction() {
}

public String loadCategory() {
    categoryList=new ArrayList();
    categoryList.add("category1");
    categoryList.add("category2");
    categoryList.add("category3");
    categoryList.add("category4");
    System.out.println("hiiiiii");
    return SUCCESS;
}

public String loadSubCategory(){
     System.out.println("called ");
     subcategoryList=new ArrayList();
     switch (categoryName) {
        case "category1":
            subcategoryList.add("sub1cat1");
            subcategoryList.add("sub2cat1");
            subcategoryList.add("sub3cat1");
            subcategoryList.add("sub4cat1");
            System.out.println("subcategoryList "+subcategoryList);
            break;
        case "category2":
            subcategoryList.add("sub1cat2");
            subcategoryList.add("sub2cat2");
            subcategoryList.add("sub3cat2");
            System.out.println("subcategoryList "+subcategoryList);
            break;
        default:
            subcategoryList.add("sub1cat3");
            System.out.println("subcategoryList "+subcategoryList);
            break;


    }
     return SUCCESS;
}




Aucun commentaire:

Enregistrer un commentaire