2

因此,多亏了我上一个问题的一些很好的反馈,我更进一步:Original Post - Coldfusion Populate form with dropdown selection using ajax

所以现在,我已经成功地向我的 CFC 提交了一个请求,它有一个远程功能,但我没有得到任何返回给浏览器的东西。

代码如下所示:

<script>
function loadQuery() {
var assign = $("#existingAssignment").val(); // Get the value of the select box so we can build the next page

$.ajax({
    type: 'get',
    url: 'http://127.0.0.1/WMT/model/getCandidate.cfc', 
    data: {method:'getExistingAssignPosInfo', tourid : assign},
    dataType: 'json',
    async: false,
    success: function(result){
        var myDP4 = $('#dp4').val(result.STROTG);
        $('#dp4').val(result.STROTG);
        $('#dp5').val(result.STRDEPART);
    }
}); 
}
</script>

我正在尝试让 jQuery 将结果(正在返回。我可以在 Firebug 中看到它们)替换为表单字段。字段被命名dp4dp5。我尝试将结果设置为myDP4并设置该值,但它不起作用。

我还尝试向屏幕发出警报,但这不起作用,因为我认为它会将警报放在 ajax 调用上。

填写表单值后唯一要做的另一件事是在屏幕上设置两个下拉菜单以等于传递回的数字。

例如:

<option value="1">Name1</option>
<option value="2">Name2</option>
<option value="3">Name3</option>
<option value="4">Name4</option>

如果我的 ajax 为带有选项的选择的名称返回 3,我将如何将该信息发送到 jQuery 以便它在下拉列表中选择它?

蒂亚!

更新:我添加到我的 CFC 中的一件事是returnformat="JSON"以前不存在的,当我直接调用 CFC 时,我确实看到了一个 JSON 对象。但是,没有如下建议的前导斜杠。

谢谢

更新#2:

这是我直接调用页面返回的 JSON

{
    "COLUMNS": [
        "STRPOSTITLE",
        "STROFFICE",
        "STROTG",
        "STRDEPART",
        "FDREDITASSIGN1STRNR_FROM",
        "FDREDITASSIGN1STRNR_TO",
        "FDREDITASSIGN2NDRNR_FROM",
        "FDREDITASSIGN2NDRNR_TO",
        "FDREDITASSIGN3RDRNR_FROM",
        "FDREDITASSIGN3RDRNR_TO",
        "FDREDITASSIGN4THRNR_FROM",
        "FDREDITASSIGN4THRNR_TO",
        "FTAEDITASSIGNTOURCOMMENTS",
        "FTAMISSIONEDITASSIGNTOURCOMMENTS"
    ],
    "DATA": [
        [
            1872,
            19,
            "February, 20 2013 00:00:00",
            "February, 19 2014 00:00:00",
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null,
            null
        ]
    ]
}

更新#3:好的,我可以填写我想要的数据,但还有一些工作要做。我将数据填写在正确的表单字段中,但我需要设置下拉菜单以匹配返回的内容。查询返回一个数字。该数字将与下拉菜单的选项值匹配。我一直在尝试通过以下方式找到它:

$('#PosTitle').find('option:eq(PosVar)').prop('selected', true);

但这并没有设定价值。

再次感谢!

4

1 回答 1

0

根据我从评论中看到的,您没有正确序列化您的 JSON。查看 Adob​​e 的编码文档,以确保您有一个 JSON 格式的字符串可以传递给您的 AJAX 请求。

于 2013-05-07T23:02:40.927 回答