javascript - $(selector).val() 不起作用

标签 javascript jquery ajax

我的 View 中有一个选项列表,它通过 ajax 在 $(document).ready() 中获取其选项设置 在此 ajax 调用之后,我想将此字段的值设置为使用.val()

我的 ajax 调用是通过以下函数进行的:

 function getOrganisations(date, id, blank) {
    $.get(myBaseUrl + "/placements/getTempsOrgsForTimesheets/" + blank + "?date=" + date + "&id=" + id,
        function (data, status) {
            $(".organisation").html(data);
        });
}

此函数运行良好并正确填充列表

如果在此之后我尝试设置此列表的值,则使用

不起作用
$("#org_" + rel).val($("#org_" + rel).attr("aVal"));

如果我在浏览器的控制台中输入此内容,它会正常工作并更新该字段。

有什么想法吗?

<div class="input select"><select name="timeData[organisation_id][thu]" class="organisation table-data table-row-3" aval="38" rel="3" id="org_3"><option value="0"> </option><option value="38">DFS Cork</option></select></div>

我已经添加了

 console.log(document.getElementById("org_" + rel));

就在我尝试设置值并得到以下结果之前

<select name="timeData[organisation_id][thu]" class="organisation table-data table-row-3" aval="38" rel="3" id="org_3"><option value="0"> </option><option value="38">DFS Cork</option></select>

最佳答案

我认为这是一个异步问题。

它可以在您的浏览器控制台中运行,因为那时 AJAX 调用已经完成。

确保您在回调函数中添加了该行。

function (data, status) {
   $('#place_' + rel).html(data);
   $("#org_" + rel).val($("#org_" + rel).attr("aVal"));   
});
<小时/>

如果您不想将逻辑直接添加到 getOrganizations 函数中,则可以包含 callback 参数:

 function getOrganisations(date, id, blank, callback) {
    $.get(myBaseUrl + "/placements/getTempsOrgsForTimesheets/" + blank + "?date=" + date + "&id=" + id,
        function (data, status) {
            $(".organisation").html(data);
            if (typeof callback === 'function'){
               callback();
            }
        });
}

然后像这样使用它:

getOrganisations('date_value', 'id_value', 'blank_value', function(){
   $("#org_" + rel).val($("#org_" + rel).attr("aVal"));  
}); 

关于javascript - $(selector).val() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32224100/

相关文章:

javascript - 通过 JavaScript 检测资源的 404

javascript - 在预定义的 div 中使用 nivoslider

java - 如何在javascript中使用输入类型文件获取文件的完整路径?

javascript - 如何从异步调用返回响应?

javascript - 如何从 Node.js 中的异步函数获取返回值?

javascript - 将行添加到具有固定标题的 HTML 表格

javascript - 如何在关闭第一个 UI Datepicker 时打开第二个 UI Datepicker

php - Jquery Ajax 将 tinyMCE html 发送到 php 页面

javascript - 使用 javascript 实现图像的子资源完整性

javascript - 大视频 : How to Hide Control Options Under Video