将逗号分隔的数字转换为不返回 JavaScript 函数结果但手动输入值的字符串可以正常工作
Casting numbers separated by commas to a string not returning results in JavaScript function but entering the values manually works fine
我有一个 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);
这是纯 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+ "\'";
}
这是我找到的解决方案。我需要通过调用 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);
}
我有一个 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);
这是纯 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+ "\'";
}
这是我找到的解决方案。我需要通过调用 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);
}