Поле комбинированного списка Linking (jQuery предпочтительно)

NullPointerException s - исключения, возникающие при попытке использовать ссылку, которая указывает на отсутствие местоположения в памяти (null), как если бы она ссылалась на объект. Вызов метода по нулевой ссылке или попытка получить доступ к полю нулевой ссылки вызовет функцию NullPointerException. Они наиболее распространены, но другие способы перечислены на странице NullPointerException javadoc.

Вероятно, самый быстрый пример кода, который я мог бы придумать для иллюстрации NullPointerException, be:

public class Example {

    public static void main(String[] args) {
        Object obj = null;
        obj.hashCode();
    }

}

В первой строке внутри main я явно устанавливаю ссылку Object obj равной null. Это означает, что у меня есть ссылка, но она не указывает на какой-либо объект. После этого я пытаюсь обработать ссылку так, как если бы она указывала на объект, вызывая метод на нем. Это приводит к NullPointerException, потому что нет кода для выполнения в местоположении, на которое указывает ссылка.

(Это техничность, но я думаю, что она упоминает: ссылка, которая указывает на null, равна 't то же, что и указатель C, указывающий на недопустимую ячейку памяти. Нулевой указатель буквально не указывает на в любом месте , который отличается от указаний на местоположение, которое оказывается недопустимым.)

5
задан Anant Singh---Alive to Die 14 December 2017 в 07:03
поделиться

4 ответа

Простое решение состоит в том, чтобы использовать

$("#mySelect").change(function() {
  document.location = this.value;
});

Это создает onchange событие на избранном поле, которое перенаправляет Вас к URL, сохраненному в поле значения выбранной опции.

8
ответ дан 13 December 2019 в 19:39
поделиться

Если Вы собираетесь иметь много избранных полей, которые Вы хотите позволить использовать в качестве перенаправлений, не имея необходимость определять их независимо, пробовать что-то подобное:

$("[id*='COMMON_NAME']").change(function() {
    document.location = this.value;
});

И имейте свои избранные поля быть названными соответственно:

<select id="COMMON_NAME_001">...</select>
<select id="COMMON_NAME_002">...</select>

Это создает onchange событие для всех идентификаторов, содержащих "COMMON_NAME", чтобы сделать перенаправление <option> значение.

1
ответ дан 13 December 2019 в 19:39
поделиться

Я не уверен, где Вы хотите связаться с тем, когда Вы нажимаете Div, но, учитывая что-то вроде этого, возможно, работал бы:

<select id="mySelect">
  <option value="1">Option 1</option>
  <option value="2">Option 2</options>
</select>
<div id="myDiv"/>

и следующий JQuery создает список <div> элементы, движения к URL на основе значения опции:

$("#mySelect option").each(function() {
    $("<div>" + $(this).text() + "</div>").appendTo($("#myDiv")).bind("click", $(this).val(), function(event) {
        location.href = "goto.php?id=" + event.data;
    });
});
$("#mySelect").remove();

Это делает то, что Вы хотите?

2
ответ дан 13 December 2019 в 19:39
поделиться

Этот бит JavaScript в 'выборе':

onchange="if(this.options[this.selectedIndex].value!=''){this.form.submit()}"

Это не идеально (потому что представления формы в ASP.NET, MVC, который я использую, кажется, не использует механизм маршрутизации для URL), но он делает свое задание.

0
ответ дан 13 December 2019 в 19:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: