2013-09-16 117 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

相關問題