динамическая пружина mvc при изменении раскрывающегося списка на другой - PullRequest
0 голосов
/ 21 марта 2012

у меня есть два выпадающих списка. Первый выпадающий: 1 введите код здесь

<form:select path="custName" id="custName">
    <form:option value="walk_in">Walk In</form:option>
    <c:forEach var="led" items="${name}">
        <form:option value="${led.ledName}">${ledger.ledName}</form:option>
    </c:forEach>
</form:select>

второй выпадение:

<form:select path="customerName" id="c01">
        <option value="walk_in">Walk In</option>
        <c:forEach var="led" items="${name}">
        <form:option  value="${led}">
        </form:option>
        </c:forEach>
        </form:select>

У меня есть следующий Spring Controller

@Controller
@RequestMapping("/accreq")

со следующим отображением

    @RequestMapping(value="/creditAccount_name.htm",method=RequestMethod.GET)
        public @ResponseBody String GetName(@RequestParam(value="credit",required=true)String customername, ModelMap model){
            List<Journal> journals=journalDao.getReceiptTypeName(customername);
            System.out.println(customername);
            String ID = journals.get(0).getJournalId().toString();
            System.out.println(ID);
            return ID;//here i am getting the value in console
        }

Я пытаюсь вызвать этот метод с помощью следующего jquery ajax

функция getAjaxReceipt () {

var custname=$("#custName").val();
if(custname!="walk_in"){
    $.ajax({
        type:'GET',
        url:'creditAccount_name.htm',
        data:{credit:custname},
        success:function(data){
            $('#c01').val(data);//this is the feild id of second drop down value should display here...but is show empty...
            alert(data);//here also i am getting the alertbox in jsp
        },
        error:function(xmlHttpRequest, textStatus, errorThrown){
            if(xmlHttpRequest.readyState=0 || xmlHttpRequest.status == 0)
                return;
        },
    });
}

Сценарий: я получаю значение первого dropdwon через запрос и привязываю его в контроллере. Когда я выбираю значение первого раскрывающегося списка, соответствующее значение должно связываться во втором раскрывающемся списке.

для этого я использовал ajax и jquery ... я успешно получаю значение в контроллер и передаю значение в ajax..но проблема в том, что значение не является обязательным в выпадающем списке. Кто-нибудь может сказать мне, что могло пойти не так?

Проблема возникает после того, как значение отображается в предупреждении ... оно не отображается во втором раскрывающемся списке .?

Ответы [ 3 ]

1 голос
/ 21 марта 2012

я вижу во втором выпадающем меню, как <form:option value="${led}"></form:option>.У вас есть значение для этого раскрывающегося списка, но для него не установлена ​​метка отображения, но для первого раскрывающегося списка у вас есть как <form:option value="${led.ledName}">${ledger.ledrName}</form:option>Это что-то правильно сделано, но вы не отображаете это правильно?

1 голос
/ 21 марта 2012

Что я понимаю, вы можете успешно получать данные с сервера. Так что ваш URL, сопоставления и параметры корректно отправляются. Но возвращенный ответ не отображается в браузере. Если я правильно понимаю, вам нужно обновить страницу (дерево dom или специальный компонент)с новыми данными. Как это

0 голосов
/ 29 марта 2012

Ваш текущий код не будет работать, потому что это вызов ajax.И функция $ работает только при загрузке страницы, это означает, что она будет связывать любую переменную только при загрузке страницы.Вот почему вы должны удалить html-код опций второго раскрывающегося списка и добавить код java-скрипта для опций второго раскрывающегося списка, как показано ниже:

myselect = document.getElementById("c01");

// второй вариант

theOption=document.createElement("OPTION");

theText=document.createTextNode("JavaScript Tutorial II");

theOption.appendChild(theText);

//эта опция имеет значение, URL, поэтому мы устанавливаем значение

theOption.setAttribute("value","index.html");

myselect.appendChild(theOption);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...