如何使用firebug调试并显示单选按钮的值


How to debug using firebug and show the value of radio button

我有如下所示的单选按钮

        <div id="lensType">
                        <input type="radio"  name="design" style="vertical-align: middle"  value="1"/>
                        <label for="design">Single Vision</label><br/>
                        <input type="radio" name="design" style="vertical-align: middle" value="2" />
                        <label for="material" >Accommodative Support</label><br/>
                        <input type="radio"  name="design" style="vertical-align: middle"  value="3"/>
                        <label for="design">Bifocal</label> <br/>
                        <input type="radio"   name="design" style="vertical-align: middle" value="4" />
                        <label for="material" >Varifocal (Intermediate/Near)</label><br/>
                        <input type="radio"   name="design" style="vertical-align: middle" value="5"/>
                        <label for="material" >Varifocal (Distance/Near)</label>
                    </div>

我正在做一个动态选择。我有我的javascript代码张贴值。似乎供应商的价值现在被张贴了。下面是我脚本的代码。

  $(document).ready(function(){
     function populate() {
      fetch.doPost('getSupplier.php');
   }
 $('#lensType').change(populate);
  var fetch = function() {
 var counties = $('#county');
return {
doPost: function(src) {
$('#loading_county_drop_down').show(); // Show the Loading...
$('#county_drop_down').hide(); // Hide the drop down
$('#no_county_drop_down').hide(); // Hide the "no counties" message (if it's the case)

    if (src) $.post(src, { supplier: $('#lensType').val() }, this.getSupplier);
    else throw new Error('No source was passed !');
},
getSupplier: function(results) {
    if (!results) return;
    counties.html(results);
$('#loading_county_drop_down').hide(); // Hide the Loading...
$('#county_drop_down').show(); // Show the drop down
}   
  }
 }();
 populate();
 });
Php代码:
<?php
  if(isSet($_POST['supplier'])) {
   include 'db.php';
  $stmt = $mysql->prepare("SELECT DISTINCT SupplierBrand FROM plastic WHERE          HeadingNo='".$_POST['supplier']."'");
  $stmt->execute();
  $stmt->bind_result($supplierBrand);
  while ($row = $stmt->fetch()) : ?>
 <option value="<?php echo $supplierBrand; ?>" width="100px"><?php echo $supplierBrand; ?></option>

我的问题是,当我调试我注意到没有值传递给php脚本,这使得选择为空。我曾尝试通过firebug输出console.log来跟踪或调试,但在这方面失败了。请协助此代码,这意味着从单选按钮选择显示一个动态列表。

用于调试:

$('input[name="design"]').change(function(){ 
console.log($('#lensType').find("input:radio[name ='design']:checked").val());
});

:

$('#lensType').find("input:radio[name ='design']:checked").val();
不是

$('#lensType').val()

,你可能想用一个改变的函数来包装它,因为onload no design被选中了:

  $(document).ready(function(){
$('input[name="design"]').change(function(){ 
var design = $('input[name="design"]:checked').val();
     function populate() {
      fetch.doPost('getSupplier.php');
   }
 $('#lensType').change(populate);
  var fetch = function() {
 var counties = $('#county');
return {
doPost: function(src) {
$('#loading_county_drop_down').show(); // Show the Loading...
$('#county_drop_down').hide(); // Hide the drop down
$('#no_county_drop_down').hide(); // Hide the "no counties" message (if it's the case)

    if (src) $.post(src, { supplier: design }, this.getSupplier);
    else throw new Error('No source was passed !');
},
getSupplier: function(results) {
    if (!results) return;
    counties.html(results);
$('#loading_county_drop_down').hide(); // Hide the Loading...
$('#county_drop_down').show(); // Show the drop down
}   
  }
 }();
 populate();
});
 });

在你的javascript中,你得到的是div的值,而不是单选按钮:

$('#lensType').val() <--- change that

到像这样的东西:

$("#lensType input:radio[name='design']:checked").val()