gpt4 book ai didi

jquery - 为什么 jquery 中 val() 为 null

转载 作者:行者123 更新时间:2023-12-01 03:22:07 27 4
gpt4 key购买 nike

我有以下脚本:

 $(document).ready(function () {
$("#dpProject").change(function () {
var idModel = $(this).val();
var select = $("#dpYear");
select.empty();
$.getJSON("/Project/GetYearsOfProject", { projectId: idModel }, function (mahaleData) {
var select = $("#dpYear");
select.empty();
$.each(mahaleData, function (index, itemData) {
select.append($('<option/>', {
value: itemData.Value,
text: itemData.Text
}));
});//each
});//json
alert($('#dpYear :selected').html());


});

为什么当我想提醒 dpYear 的选定项目时,它提醒为空?即使我更改为 text() 它也返回 null 所以。我使用了jquery-1.7.1.js。

编辑我有 2 个 dropdownwns 和一个文本框,当 Dp1(dpProject) 更改 Dp2(DpYear) 时必须重新加载,并且默认选择 Dp2 中的第一项,加载 Dp2 后,必须调用一些方法并填充文本框,因此随着 Dp1 的更改,文本所依赖的第一个项目 Dp2 文本框的必须更改,但所选的 Dp2(dpYear) 项目返回 null。

最佳答案

getJSON 是异步的。它在调用后立即返回,就在您清空选择之后。这意味着在调用警报时它仍然是空的。

如何访问所选值将取决于您何时需要它:ajax 请求完成后,根据您的代码将不会有所选值。如果需要,您可以选择默认选择一个(据我所知,如果列表非空并且您没有明确选择一个,则默认选择第一个)。

更新:既然是这种情况,在重新填充选择后立即访问选择的值似乎是正确的方法:

     $.getJSON("/Project/GetYearsOfProject", { projectId: idModel }, function  (mahaleData) {
var select = $("#dpYear");
select.empty();
$.each(mahaleData, function (index, itemData) {
select.append($('<option/>', {
value: itemData.Value,
text: itemData.Text
}));
});//each
alert($('#dpYear').val()); # If mahaleData is non-empty, this should be non-null
});//json

关于jquery - 为什么 jquery 中 val() 为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8785931/

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