我已使用以下功能在文本框中添加了用户名和电子邮件ID。
function (result) {
var rv = [];
$.each(result, function (i, v) {
rv.push(v.Name +" (" + v.Email + " )" );
});</pre>
它在文本框中显示如下: ABC(ABC @ XYZ)
现在我想以不同方式访问此名称和电子邮件ID。
我该怎么做?
提前致谢。
答案 0 :(得分:1)
您可以使用要存储多个值的任何自定义属性创建HTML元素。
例如:
<input ID="userInfo" type="text" userName="ABC" userEmail="ABC@XYZ" value="ABC(ABC@XYZ)" />
然后你可以在获取html的名称,ID,css等后,通过属性名在jQuery中查询这些值。
关于如何获取元素的属性值的示例:
答案 1 :(得分:0)
从文本框值中获取姓名和电子邮件:
var textbox = document.querySelector('input[type="text"]');
var value = textbox.value;
var a = value.indexOf('(');
var b = value.indexOf(')');
var name = value.substring(0, a);
var email = value.substring(a + 1, b);
答案 2 :(得分:0)
这可能会对您有所帮助Demo
<div >
Name & Email <input type="text" id="txtNameEmail" value="ABC(ABC@XYZ)" userName="ABC" userEmail="ABC@XYZ"/><br />
Name<input type="text" id="txtName" /><br />
Email<input type="text" id="txtEmail" />
</div>
$('#txtName').val($('#txtNameEmail').attr("userName"));
$('#txtEmail').val($('#txtNameEmail').attr("userEmail"));
答案 3 :(得分:0)
我不确定你在问什么,但也许这可以做你想要的?
findByName(rv, targetName) {
rv.find(function(element, index, array) {
name = element.substring(0, element.indexOf("("))
return name === targetName
})
}
findByName(rv, "ABC")
在大多数浏览器中,find功能实际上并不可用,但您可以对其进行填充并获得相同的功能(请参阅https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find)
您可以使用电子邮件地址编写一个非常相似的功能。