2012-08-30 37 views
0

不知道爲什麼,但一些功能不像他們應該那樣工作。我剛剛開始使用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> 
+0

女性:)我很抱歉,但沒有幫助。 lols ...好吧,儘量讓我們幫助你學習如何解決你的問題,我們不在這裏爲你做編程。 –

+0

jsfiddle也許或一些HTML? –

+0

嗯,我的那種女孩:D –

回答