Преобразование чисел, разделенных запятыми, в строку, не возвращающую результаты в функции JavaScript, но ввод значений вручную работает нормально - PullRequest
0 голосов
/ 22 мая 2019

У меня есть функция JavaScript, которая используется для получения идентификационных номеров тегов (разделенных запятыми) из метки asp.net. (К вашему сведению, это используется с выпадающим списком jQuery select2 multi select). Когда я пытаюсь прочитать строку чисел, разделенных запятыми из кода, я не получаю никаких результатов. В консоли браузера нет ошибок. Тем не менее, если я вручную вставляю данные, они работают просто отлично - даже при том, что данные кажутся точно одинаковыми в обоих случаях. Вот пример:

Это прекрасно работает:

function GetTags() {           
$(".js-class").val([1,2]); //manually entering the numbers here.
$(".js-class").trigger('change');
}

Когда я пытаюсь извлечь числа из метки, это не работает, даже если строка точно такая же: 1,2

function GetTags() {      
var data = document.getElementById('MainContent_lblTagIDS').innerText; //1,2 is being returned from this label
$(".js-class").val([data]);
$(".js-class").trigger('change');
}

Вот как я анализирую данные в методе кода кода:

 var SelectedValues = dt.AsEnumerable().Select(s => s.Field<int>("TAGIDS")).ToArray();
 lblTagsIDS.Text = string.Join(",", SelectedValues);
 ScriptManager.RegisterStartupScript(UpdatePanel1, UpdatePanel1.GetType(), "myFunction", "GetTags();", true);

Ответы [ 2 ]

0 голосов
/ 22 мая 2019

Это решение, которое я нашел.Мне нужно было хранить каждый номер в разных массивах последовательности, вызывая split.Затем я использовал функцию each () jQuery для циклического прохождения каждого элемента целевого объекта jQuery.

function GetTags() {
    var data = document.getElementById('MainContent_lblTagsIDS').innerText;    
    var newarray = data.split(",");
    $.each($(".js-class"), function () {
        $(this).val(newarray);
    });
    $(".js-class").trigger('change'); // Notify any JS components that the value changed);
}
0 голосов
/ 22 мая 2019

Это обычный JS

HTML

<input id="t" onchange="changeHandler()" type="text" value="" />
<p id="p"></p>

JS

function changeHandler() {
    var text = document.querySelector('#t').value;
    document.querySelector("#p").innerHTML = "\'"+text+ "\'";
}
...