以前の質問からの素晴らしいフィードバックのおかげで、さらに先に進みました: 元の投稿 - Coldfusion フォームに ajax を使用してドロップダウン選択を入力します。
これで、CFC にリクエストを正常に送信できました。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 で確認できます) をフォーム フィールドに置き換えようとしています。フィールドには名前が付けられdp4
てdp5
います。結果をmyDP4
に設定してその値を設定しようとしましたが、機能しません。
また、画面にアラートをスローしようとしましたが、ajax 呼び出しにアラートが表示されると想定しているため、機能しません。
フォームの値を入力した後に他に行うことは、返される数値と等しくなるように画面に 2 つのドロップダウンを設定することだけです。
例えば:
<option value="1">Name1</option>
<option value="2">Name2</option>
<option value="3">Name3</option>
<option value="4">Name4</option>
私の ajax がオプション付きの選択の名前に対して 3 を返す場合、その情報を jQuery に送信してドロップダウンで選択するにはどうすればよいですか?
ティア!
更新: CFC に追加したことの 1 つは、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);
しかし、それは値を設定しません。
再度、感謝します!