不知道爲什麼,但一些功能不像他們應該那樣工作。我剛剛開始使用JavaScript,因此我的調試技巧不足。我剛剛從之前的版本中添加了幾行(以實現新功能),從那以後,它不像以前那樣工作。 :/我使用jsBin或任何它所謂的,它告訴我一些事情,但我不知道這是否是合法的建議。Javascript/jQuery放置問題,以及一些快速問題
它告訴我的事情之一是我使用setID超出範圍,我猜是因爲我用for語句?但它仍然處於相同的功能。如果這是一個問題,我該如何聲明它才能使用它? (雖然那部分工作正常)。
另一個是我應該比較metroID和0使用===而不是==。真的不知道有什麼不同,完全誠實。
無論如何,我遇到的問題是函數setSubDesc()不再被加載頁面上調用。之前我添加了該代碼。我遇到的另一個問題是,更改單選按鈕「pay_type」不會調用Javascript中的更改。如果我移動一些東西,某些部分就像他們應該那樣工作。但我真的不明白爲什麼事物的擺放會有所作爲。
任何/所有的幫助,非常感謝。 :/
我說什麼:
setFundSelect();
function setFundSelect() {
var orgID = $("#org_fund_id").val();
$("#f_span").hide();
$("#f_div").hide();
$('#fundraiser_id').removeClass('required');
for (var i=0; i < orgs.length; i++) {
if (orgs[i][1] == orgID) {
var setID = i;
}
}
if (orgs[setID][4] == '1') {
$('#fundraiser_id').addClass('required');
$("#f_span").show();
$("#f_div").show();
$("#fundraiser_id").children().remove();
for (var i=0; i < fundraisers.length; i++) {
if (fundraisers[i][0] == orgID) {
if (fundraisers[i][4]) {
selectedHTML = 'selected=selected';
} else {
selectedHTML = '';
}
$('#fundraiser_id').append('<option value="'+fundraisers[i][2]+'" '+selectedHTML+'>'+fundraisers[i][3]+'</ option>');
}
}
}
}
中的Javascript網頁的完整範圍:
<script type="text/javascript">
var orgs = [];
var fundraisers = [];
function pageInit() {
<?php do {
if ($row_rsOrg['ID'] == $_GET['fund_ID']) {
$selected = "true";
$selectedMetroID = $row_rsOrg['metro_ID'];
} else {
$selected = "false";
} ?>
orgs.push(['<?php echo $row_rsOrg['metro_ID'] ?>','<?php echo $row_rsOrg['ID'] ?>', '<?php echo addslashes($row_rsOrg['org_name']) ?>', <? echo $selected; ?>, '<?php echo $row_rsOrg['if_fund'] ?>']);
<?php } while ($row_rsOrg = mysql_fetch_assoc($rsOrg)); ?>
<?php do {
if ($row_rsFund['ID'] == $_GET['ref_ID']) {
$selected2 = "true";
$selectedOrgID = $row_rsFund['org_fund_ID'];
} else {
$selected2 = "false";
} ?>
fundraisers.push(['<?php echo $row_rsFund['org_fund_ID'] ?>', '<?php echo $row_rsFund['ref_ID'] ?>', '<?php echo $row_rsFund['ID'] ?>', '<?php echo addslashes($row_rsFund['firstname']) ?> <?php echo addslashes($row_rsFund['lastname']) ?>', <? echo $selected2; ?>]);
<?php } while ($row_rsFund = mysql_fetch_assoc($rsFund)); ?>
$('#metro_id').change(function() {
setOrgSelect();
});
$('#org_fund_id').change(function() {
setFundSelect();
});
$('#subscription_value').change(function() {
setSubDesc();
});
$('#metro_id').append('<option value="0">Please Choose...</ option>');
$('#metro_id').append('<option value="1" <? if ($selectedMetroID == 1) { echo "selected=selected"; }?>>St. Louis</ option>');
$('#metro_id').append('<option value="2" <? if ($selectedMetroID == 2) { echo "selected=selected"; }?>>Charlotte</ option>');
setOrgSelect();
setFundSelect();
setSubDesc();
$("input[name='pay_type']").change(function(){
$('#ppac').removeClass('required');
$('#cc').removeClass('required');
$('#cc_cvv2').removeClass('required');
$('#name').removeClass('required');
$('#street').removeClass('required');
$('#zip').removeClass('required');
if ($("input[name='pay_type']:checked").val() == 'cc') {
$('#pay_type_cc_div').show();
$('#pay_type_code_div').hide();
$('#cc').addClass('required');
$('#cc_cvv2').addClass('required');
$('#name').addClass('required');
$('#street').addClass('required');
$('#zip').addClass('required');
} else {
$('#pay_type_code_div').show();
$('#pay_type_cc_div').hide();
$('#ppac').addClass('required');
}
$('.submit_divs').show();
});
}
function setOrgSelect() {
var metroID = $("#metro_id").val();
$("#o_span").show();
$("#org_fund_id").children().remove();
for (var i=0; i < orgs.length; i++) {
if (orgs[i][0] == metroID) {
if (orgs[i][3]) {
selectedHTML = 'selected=selected';
} else {
selectedHTML = '';
}
$('#org_fund_id').append('<option value="'+orgs[i][1]+'" '+selectedHTML+'>'+orgs[i][2]+'</ option>');
}
}
}
function setFundSelect() {
var orgID = $("#org_fund_id").val();
$("#f_span").hide();
$("#f_div").hide();
$('#fundraiser_id').removeClass('required');
for (var i=0; i < orgs.length; i++) {
if (orgs[i][1] == orgID) {
var setID = i;
}
}
if (orgs[setID][4] == '1') {
$('#fundraiser_id').addClass('required');
$("#f_span").show();
$("#f_div").show();
$("#fundraiser_id").children().remove();
for (var i=0; i < fundraisers.length; i++) {
if (fundraisers[i][0] == orgID) {
if (fundraisers[i][4]) {
selectedHTML = 'selected=selected';
} else {
selectedHTML = '';
}
$('#fundraiser_id').append('<option value="'+fundraisers[i][2]+'" '+selectedHTML+'>'+fundraisers[i][3]+'</ option>');
}
}
}
}
function setSubDesc() {
var subVal = $("#subscription_value").val();
if (subVal == "10") {
$("#monthly_sub").show();
$("#yearly_sub").hide();
} else {
$("#monthly_sub").hide();
$("#yearly_sub").show();
}
}
</script>
女性:)我很抱歉,但沒有幫助。 lols ...好吧,儘量讓我們幫助你學習如何解決你的問題,我們不在這裏爲你做編程。 –
jsfiddle也許或一些HTML? –
嗯,我的那種女孩:D –