#javascript #jquery
#javascript #jquery
Вопрос:
Это может быть глупый вопрос, но все же я сталкиваюсь с проблемой с этим.
var eformDetailIds = [];
eformDetailIds=$("[name=eform_id]").map(function(){ return $(this).val() }).get();
это код, который я написал в функции js и вызываю эту функцию при нажатии кнопки.
Но проблема в том, что список eformDetailIds также содержит предыдущие значения. не могли бы вы, пожалуйста, как установить этот пустой список для каждого вызова функции? Заранее спасибо.
Комментарии:
1. Извините.. Я должен получать новый список каждый раз при вызове этой функции. это то, что я ищу.
2. Этот код, который у вас есть, вернет новый массив со всеми значениями, записанными в данный момент во всех элементах формы, имеющих имя
eform_id
— объясните, что вы хотите вместо этого, и мы постараемся направить вас туда.3. Если это поможет, вот живой тестовый пример, поэтому не стесняйтесь изменять его и использовать, чтобы продемонстрировать, какова ваша цель..
Ответ №1:
Просто установите длину равной нулю:
eformDetailIds.length = 0;
Или выделить новый массив:
eformDetailIds = [];
Теперь, с учетом сказанного, согласно опубликованному вами коду, весь массив определенно будет заменяться каждый раз, когда выполняется вызов «.map()». Другими словами, предыдущие значения не останутся в массиве. Возможно, вам следует опубликовать больше, чтобы объяснить, что заставляет вас думать, что старые значения остаются.
Комментарии:
1. Но я уже использовал второй вариант var eformDetailIds = []; но все еще не работает. пожалуйста, предложите мне
2. @Satya вы опубликовали недостаточно информации, чтобы понять, в чем проблема. Когда вы полностью переназначаете значение подобным образом, предыдущие значения не останутся в массиве ; фактически это совершенно новый массив.
3. Привет, остроумный.. Ответ, который вы мне предоставили, правильный и должен работать. Но я обнаружил, что проблема не в этом. большое вам спасибо
Ответ №2:
Не забывайте, что вы всегда можете сбросить массив таким образом:
myArray = new Array();
Это довольно просто.
Комментарии:
1. Этот ответ является истинным утверждением, но обратите внимание, что
x = []
иx = new Array()
являются точно такими же.