我有一个JavaScript函数,该函数用于从asp.net标签中检索标签ID号(以逗号分隔)。 (仅供参考,这与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);
答案 0 :(得分:0)
这是普通的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+ "\'";
}
答案 1 :(得分:0)
这是我找到的解决方案。我需要通过调用split将每个数字保持在不同的序列数组中。然后,我使用jQuery each()函数遍历目标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);
}