我有一個包含一系列「related」選項的頁面。除非有預選的選項,否則一切正常。如果我在代碼中添加了「警告」,但沒有它,則可以設置「預選」工作。用ajax創建後選擇「select option」
例如:
function loader(){
if ($("#prod_1").val() > 0){
switchBatch(1);
$('#batch_1').val('15');
updateMax(1);
}
if ($("#prod_2").val() > 0){
switchBatch(2);
alert('yup');
$('#batch_2').val('35');
updateMax(2);
}
}
$(function() {
loader();
});
具有第二個 「警報( '燁');」在它的工作,但第一個沒有。
「switchBatch()」是一個將選項(從ajax調用)加載到批量選擇控件中的函數。兩個實例都會加載選項,但只有第二個選項會選擇正確的選項。
有什麼建議嗎?
蘭斯
這裏是整個事情:
<script>
maxVals = [];
function switchBatch(idNum){
maxVals = [];
$("#max_"+idNum).val('');
$.ajax({
type: "POST",
url: "/cfc/product.cfc?method=pialJson",
data: ({
productID: $("#prod_"+idNum).val()
}),
dataType: "json",
success: function(result){
options = '';
var colMap = new Object();
for(var i = 0; i < result.COLUMNS.length; i++) {
colMap[result.COLUMNS[i]] = i;
}
for (var i = 0; i < result.DATA.length; i++){
options += '<option value="' + result.DATA[i][colMap["BATCHID"]] + '">' + result.DATA[i][colMap["BATCHNAME"]]+ '</option>';
maxVals[i] = result.DATA[i][colMap["INSTOCK"]];
}
$("select#batch_"+idNum).html(options);
updateMax(idNum);
}
});
}
function updateMax(idNum){
thisOne = $("#batch_"+idNum).attr("selectedIndex");
$("#max_"+idNum).val(maxVals[thisOne]);
checkMax(idNum);
}
function checkMax(idNum){
$("#qty_"+idNum).removeClass('red');
if ($("#qty_"+idNum).val() > $("#max_"+idNum).val()){
$("#qty_"+idNum).addClass('red');
}
}
function loader(){
if ($("#prod_1").val() > 0){
switchBatch(1);
alert('yup');
$('#batch_1').val('<cfoutput>#batch_1#</cfoutput>');
updateMax(1);
}
if ($("#prod_2").val() > 0){
switchBatch(2);
alert('yup');
$('#batch_2').val('<cfoutput>#batch_2#</cfoutput>');
updateMax(2);
}
}
$(function() {
loader();
});
</script>
感謝帕特里克做到了這一點。現在我必須弄清楚爲什麼大聲笑 – Lance 2010-08-20 19:45:16