2013-09-16 202 views
0

我想要在页面选项值选择为1时禁用价格选项值15.它被禁用的原因是因为具有值15的行被称为1次。这里是期权价值当选择另一个选项值时禁用选项值

<td align="right">Select Page: 
          <select name="page" id="page"> 
           <option selected disabled="disabled">Select</option> 
           <option value="1"> 1 </option> 

          </select> 
          </td> 

这里的代码是为价格的期权价值

<td align="right">Select Price: 
          <select name="price" class="calc" id="price"> 
           <option selected disabled="disabled">Select</option> 
           <option value="15" class="calc" id="15"> $15 </option> 
           <option value="10" class="calc" id="10"> $10 </option> 
           <option value="5" class="calc" id="5"> $5 </option> 
          </select> 
          </td> 

这是我的SQL查询

$ss = mysql_query("select page from images");//for getting the value 
        $r = mysql_query("select page from images");//for getting number of row 
        $a = mysql_fetch_array($ss, MYSQL_NUM); 
        $row = mysql_num_rows($r); 
          $result = $a[0]; 

,这是我使用

jquery的
<script> 
       var $s = 1; 
       var $page = $('#page'), 
        $price = $('#price'); 
        $page.change(function(){ 
        if($page.val() == <?php echo $result ?>){ 
         if($s == <?php echo $row?>){ 
          $price.attr('disabled','disabled').val(''); 
         }else{ 
          $price.removeAttr('disabled'); 
         } 
        } 
       }).trigger('change');    
      </script> 

但它仍然是n不工作。任何人都可以告诉我为什么这不起作用?

编辑! 我还没有确定Jquery中的$ price值。如何把15的价值在jQuery中?

回答

0

好吧,几件事。

首先,您不应该使用功能.change()以及触发器trigger('change'),请选择其中一个。

然后,您应该将此脚本代码放在一个.ready()函数中,以便在页面加载时准备好。另外,您可以使用[]选择器属性来一次选择所有选项,而不是遍历它们(我认为这是您正在尝试执行的操作)。像这样的最终功能:

$(document).ready(function() { 
    var $s = 1; 
    var $page = $('#page'); 
    var $price = $('#price'); 
    var $amt = '<?php echo $result ?>'; 

    $page.change(function() { 
     var x = 1; 
     if($page.val() == <?php echo $result ?>) { 
      $("#price option[value!='"+$amt+"']").removeAttr('disabled'); 
      $("#price option[value='"+$amt+"']").attr('disabled','disabled').val(''); 
     } 
    }); 
}); 
+0

这个功能几乎得到我想要的。谢谢 – Asker

相关问题