我想在页面选项值选择为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>
但它仍无效。任何人都可以告诉我为什么这不起作用?
EDIT! 我还没有确定jQuery中的$ price值。如何在jQuery中输入15的值?
答案 0 :(得分: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('');
}
});
});