Чтобы упростить мою проблему, я переписал код без разбора CSV, но вместо этого с переменной, которая хранит данные.jQuery проверить несколько списков CSV
--CODE EDIT ---
$(document).ready(function() {
var qID = 'xxx';
var source = ['text1', 'text2', 'etc3'];
var source2 = ['text4', 'text5', 'etc6'];
$('#question' + qID + ' input[type="text"]').change(function() {
var validVal = 0;
var inputVal = $(this).val();
// Loop through the text and test the input value
$(source).each(function(i) {
if (inputVal == this) { // If a match is found...
validVal = 1;
}
});
// If a valid text was entered
if (validVal == 1) { // A valid input
alert("GOOD");
} else { // An invalid input
alert("NOT GOOD");
}
var validVal2 = 0;
var inputVal2 = $(this).val();
$(source2).each(function(j) {
if (inputVal2 == this) { // If a match is found...
validVal2 = 1;
}
});
// If a valid text was entered
if (validVal2 == 1) { // A valid input
alert("GOOD2");
} else { // An invalid input
alert("NOT GOOD2");
}
});
});
Скрипт работает отлично для одного источника (источник вар), но я хочу, чтобы проверить в одном текстовом поле 2 переменных (источник, source2), который будет производить разные оповещения.
Сценарий запускается через форму limesurvey, а вход - это простое поле [type = "text"].
Как проверить наличие двух разных массивов текста в одном текстовом поле?
Насколько я вижу переменную * fullArray * является глобальным, и это может быть один из вопросов. Вы должны поместить * var * раньше, чтобы определить его локально. –
Я пробовал его и до сих пор не могу заставить его работать ... Я не думаю, что мне удастся иметь 2 или 3 $ .get (url, function (data) с различным URL-адресом под тем же $ (документом)? Любые идеи? – qwertyg
Вы можете получить все * $. Get * вы хотите в * $ (document) .ready() *. Укажите код, в котором вы загружаете другой файл csv, и добавьте более подробную информацию о своей проблеме. произошло? –