gpt4 book ai didi

javascript - 为什么 JavaScript 会识别出我的控件现在持有一个数组?

转载 作者:行者123 更新时间:2023-12-03 04:10:20 25 4
gpt4 key购买 nike

我正在开发一个“发送电子邮件”的小型 MVC 应用程序,一开始我使用下拉列表仅选择 1 个接收者,但之后我向 dropdownList 添加了多个类,当我选择 2-3 个接收器,当我尝试调试这段代码时,我只使用了一个接收器:

$("#SubmitEmail").click(function () {
var Receiver = $('#ReceiverID').val();
var Subject = $('#subject').val();
var Body = $('#content').val();
var obj = { 'Receiver': Receiver, 'Subject': Subject, 'Body': Body };

SendEmail(obj);
});

我意识到我用来存储receiverId的var Receiver实际上变成了一个数组,我想知道javascript如何适应如此coooooool所以它认识到我在那里选择了一些项目,它变成了一个数组,所以我只是循环它(修改了我的代码):

$("#SubmitEmail").click(function () {
var Receivers = $('#ReceiverID').val();
for (var i = 0; i < Receivers.length; i++) {
var Receiver = Receivers[i];
var Subject = $('#subject').val();
var Body = $('#content').val();
var obj = { 'Receiver': Receiver, 'Subject': Subject, 'Body': Body };
}
SendEmail(obj);
});

一切都很酷,所以我只是想知道 js 为何知道这一切?

最佳答案

来自 jQuery docs on val() :

When the first element in the collection is a select-multiple (i.e., a select element with the multiple attribute set), .val() returns an array containing the value of each selected option.

所以它实际上是 jQuery 魔法,而不是 JavaScript 魔法。

您可以看到val()的实际源代码here 。这是一个调用 get hook 的函数select 元素的,它实际上对所选选项进行循环。

关于javascript - 为什么 JavaScript 会识别出我的控件现在持有一个数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44360192/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com