理由はわかりませんが、一部の機能が正常に機能していません。JavaScriptを使い始めたばかりなので、デバッグスキルが不足しています。以前のバージョンから(新しい機能を実装するために)これに数行追加しましたが、それ以降、以前のようには機能していません。:/ jsBinまたはそれが呼ばれるものを使用し、いくつかのことを教えてくれましたが、それが正当なアドバイスであるかどうかはわかりません。
それが私に言ったことの1つは、私がsetIDをスコープ外で使用しているということでした、私はそれをforステートメントの外で使用しているからだと思いますか?しかし、それはまだ同じ機能にあります。それが問題である場合、それを使用できるようにどのように宣言しますか?(その部分は正常に機能しますが。)
もう1つは、==の代わりに===を使用してmetroIDと0を比較する必要があるということです。正直に言うと、違いが何であるかはよくわかりません。
とにかく、私が抱えている問題は、関数setSubDesc()がページの読み込み時に呼び出されなくなったことです。そのコードを追加する前でした。私が抱えているもう1つの問題は、ラジオボタン「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>