我有一个下拉框中的宽度列表。它们是动态的,因为每个产品都有不同的宽度,所以我设置了代码来查找最小值和最大值。然后以1为增量设置下拉列表。基于使用php和javascript的另一个动态下拉框的选择来禁用下拉框
旁边的宽度是1/8“增量。例如,你可以选择52 1/8。
如果最大宽度是92英寸比方说,1/8增量下拉框应该消失或禁用,因为自92是最大..你不能选择92 1/8。
如何使1/8盒子消失或禁用?这是我当前的下拉框代码的一部分。
<select name="width_str" id="width_str" onchange="doCalc();" style="width:50px;">
<option value="">--</option>
<?php
$counter = $minwidthRS - 1;
$start = $minwidthRS;
for($start; $start < $maxwidthRS + 1; $start++) {
$counter = $counter + 1;
echo "<option value=".$counter.">".$counter."</option>";
}
?>
</select>
代码用于与我想禁止或以上选择的最大时消失1/3/8选择下拉框。
<select name="widthfrac_str" id="widthfrac_str" onchange="doCalc();" style="width:50px;">
<option value="">--</option>
<option value="1/8">1/8</option>
<option value="1/4">1/4</option>
<option value="3/8">3/8</option>
<option value="1/2">1/2</option>
<option value="5/8">5/8</option>
<option value="3/4">3/4</option>
<option value="7/8">7/8</option>
</select>
我知道如何通过发送选定宽度值,使用AJAX PHP页面,有比较,但我该怎么发回的成功回调?我可以发送一些告诉容器1/8的测量下拉菜单来禁用或消失吗?
非常感谢!如果你需要更多的代码让我知道。 doCalc()脚本基本上使用AJAX并将宽度发送到php处理页面以便立即更新价格。
编辑(添加更多的代码):
这里是我的脚本的一部分..
<script type="text/javascript">
function doCalc(){
var roomX = $('#room_str').val();
... lots of variables set here
$.post('db_query.php',
{roomX:roomX, etc. etc. etc.},
function(data) {
data = $.parseJSON(data);
$('#roomname-placeholder').html(data.roomname);
// ... lots of placeholders and code here
});
return false;
};
</script>
不知道是否有帮助,但我学到了一些关于使用回调来改变输入并用此替换它的值:$('input[name=x_login]').val(data.loginid);
如果有类似的代码来简单地更改其他下拉框禁用=禁用?那有意义吗?我仍然在学习编程术语!
我不太明白的部分是 - 我检查和比较这些数字在我的PHP页面中的AJAX发布?如果是这样,我是否在脚本的成功回调部分执行切换和隐藏效果?我将在EDIT中发布上述AJAX编码的一部分。 – LITguy 2012-07-15 07:48:39
我不是一个JavaScript专家,我只知道基础知识,所以我的答案可能不准确/完整。编辑我的答案。 – 2012-07-15 07:57:55
这样做!我不知道你可以在JavaScript中这样做。这开辟了一个全新的世界!非常感谢! – LITguy 2012-07-15 09:00:09