Как получить текст между тегом <option>в сервлете </option> - PullRequest
1 голос
/ 22 марта 2019

Я выбрал в моей странице индекса. Похоже ниже

<div id="dropdown" class="input-group" style="width:50%">
                    <select class="form-control" id="select2" name="select2" onchange="javascript:document.form1.submit();" style="width : 250px">
                        <option value="C:/path1" >option 1/option>
                        <option value="C:/path2" >option 2</option>
                        <option value="C:/path3" >option 3</option>
                        <option value="C:/path4" >option  4</option>
                        <option value="C:/path5" >option  5</option>
                        <option value="C:/path6" >option 6</option>
                    </select> 
                </div>

Мне нужно значение атрибута «Значение», то есть «C: / path1», которое я могу получить в сервлете, используя

String value= request.getParameter("select2");

Теперь мне нужно извлечь текст между тегами, то есть мне нужен «вариант 1» или что-нибудь на основе выбора. Как мне это сделать. Пожалуйста, помогите. Заранее спасибо :)

Ответы [ 2 ]

1 голос
/ 22 марта 2019

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

<div id="dropdown" class="input-group" style="width:50%">
    <input type="hidden" name="selectedLabel" id="selectedLabel">
    <select class="form-control" id="select2" name="select2" onchange="javascript:getSelectedLabel(this);" style="width : 250px">
       <option value="C:/path1" >option 1/option>
       <option value="C:/path2" >option 2</option>
       <option value="C:/path3" >option 3</option>
       <option value="C:/path4" >option  4</option>
       <option value="C:/path5" >option  5</option>
       <option value="C:/path6" >option 6</option>
    </select> 
</div>

JS: с помощью этой функции вы устанавливаете метку опции на скрытое поле, и скрытое поле будет отправлено вместе с данными вашей формы.

function getSelectedLabel(sel) {
    document.getElementById("selectedLabel").value = sel.options[sel.selectedIndex].text;
    document.form1.submit();
}

Серверная часть:

String value= request.getParameter("select2");
String label = request.getParameter("selectedLabel"); 
0 голосов
/ 22 марта 2019

здесь простое и быстрое решение.

Попробуйте это

<select class="form-control" id="select2" name="select2" onchange="javascript:document.form1.submit();" style="width : 250px">
                    <option value="C:/path1_option 1" >option 1/option>
                    <option value="C:/path2_option 2" >option 2</option>
</select>

Если вы отправляете данные сервлету следующим образом (путь + текст опции), вы можете получить данные по запросуМетод .getParameter () и разделение данных с использованием кода Java.

String value= request.getParameter("select2");
String vals[]  = value.split("_",0);

for(String v : vals){
    System.out.println(v);
}

, поэтому вы можете получить эти два значения ....

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