我正在建立一个网站,这是一个出售眼镜的商店。用户必须从两种选择类型输入中为每只眼睛选择他们的处方值,以便能够为他们选择正确的镜片。
我正在尝试找出如何使用Jquery/Javascript来比较两个眼睛的值,因为需要根据最高的选项显示更多的选项。
这就是我到目前为止所拥有的。每个输入都是独立工作的,我不知道如何解决这个问题。
$(function () {
$("#selection_1, #selection_2").change(function() {
var val = $(this).val();
if(val >="00.00" && val <="01.00" || val <="-01.00" && val >="-00.25" ) {
$("#product_b").hide();
}
else {
$("#product_b").show()
};
if(val >="01.25" && val <="02.00" || val <="-02.00" && val >="-01.25" ) {
$("#product_a").hide();
}
else {
$("#product_a").show();
};
});
})<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container ">
<div class="form-group col-md-6">
<label class="control-label" for="selection_1">Selection 1</label>
<select class="my-form-control" id="selection_1" name="right eye">
<option value="default"disabled>choose...</option>
<option value="-02.00">-02.00</option>
<option value="-01.75">-01.75</option>
<option value="-01.50">-01.50</option>
<option value="-01.25">-01.25</option>
<option value="-01.00">-01.00</option>
<option value="-00.75">-00.75</option>
<option value="-00.50">-00.50</option>
<option value="-00.25">-00.25</option>
<option value="00.00" selected>00.00</option>
<option value="00.25">00.25</option>
<option value="00.50">00.50</option>
<option value="00.75">00.75</option>
<option value="01.00">01.00</option>
<option value="01.25">01.25</option>
<option value="01.50">01.50</option>
<option value="01.75">01.75</option>
<option value="02.00">02.00</option>
</select>
</div>
<div class="form-group col-md-6">
<label class="control-label" for="selection_2">Selection 2</label>
<select class="my-form-control" id="selection_2" name="right eye">
<option value="default" disabled>choose...</option>
<option value="-02.00">-02.00</option>
<option value="-01.75">-01.75</option>
<option value="-01.50">-01.50</option>
<option value="-01.25">-01.25</option>
<option value="-01.00">-01.00</option>
<option value="-00.75">-00.75</option>
<option value="-00.50">-00.50</option>
<option value="-00.25">-00.25</option>
<option value="00.00"selected>00.00</option>
<option value="00.25">00.25</option>
<option value="00.50">00.50</option>
<option value="00.75">00.75</option>
<option value="01.00">01.00</option>
<option value="01.25">01.25</option>
<option value="01.50">01.50</option>
<option value="01.75">01.75</option>
<option value="02.00">02.00</option>
</select>
</div>
</div>
<div class="container">
<div id="product_a" class="form-check">
<input class="form-check-input" type="radio" name="exampleRadios" id="exampleRadios1" value="option1">
<label class="form-check-label" for="product_a">
Product A
</label>
</div>
<div id="product_b" class="form-check">
<input class="form-check-input" type="radio" name="exampleRadios" id="exampleRadios2" value="option2">
<label class="form-check-label" for="product_b">
Product B
</label>
</div>
</div>
这就是我需要完成的工作:如果#selection_1或#selection_2介于1.00和-1.00之间,则应该显示#product_a。如果#selection_1或#selection_2介于1.00和2.00之间,并且介于-1.00和-2.00之间,则应显示#product_b。
下面是它们如何协同工作的示例:如果selection_1介于1.00和2.00之间,而selection_2介于1.00和-1.00之间,则应显示#product_b。最高的应该是要考虑的。
我希望有人能帮帮我!谢谢
发布于 2018-11-11 15:55:34
在比较数值时,你需要将数值转换为数字类型,在你的例子中,你应该在计算之前对数值进行parse。
从你的段落来看,你的条件对我来说似乎有点复杂,但我还是试着实现了我所理解的一切。希望这篇文章能帮助你根据自己的需要实现剩下的部分。
这是代码片段。
$(function() {
$("#selection_1, #selection_2").change(function() {
var val1 = parseFloat($('#selection_1').val());
var val2 = parseFloat($('#selection_2').val());
if ((val1 => -1.0 && val1 <= 1.0) || (val2 >= -1.0 && val2 <= 1.0)) {
$('#product_a').show();
$('#product_b').hide();
}
if ((val1 >= 1.0 && val1 <= 2.0) || (val2 >= 1.0 && val2 <= 2.0) || (val1 >= -2.0 && val1 <= -1.0) || (val2 >= -2.0 && val2 <= -1.0)) {
$('#product_a').hide();
$('#product_b').show();
}
});
})<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container ">
<div class="form-group col-md-6">
<label class="control-label" for="selection_1">Selection 1</label>
<select class="my-form-control" id="selection_1" name="right eye">
<option value="default" disabled>choose...</option>
<option value="-02.00">-02.00</option>
<option value="-01.75">-01.75</option>
<option value="-01.50">-01.50</option>
<option value="-01.25">-01.25</option>
<option value="-01.00">-01.00</option>
<option value="-00.75">-00.75</option>
<option value="-00.50">-00.50</option>
<option value="-00.25">-00.25</option>
<option value="00.00" selected>00.00</option>
<option value="00.25">00.25</option>
<option value="00.50">00.50</option>
<option value="00.75">00.75</option>
<option value="01.00">01.00</option>
<option value="01.25">01.25</option>
<option value="01.50">01.50</option>
<option value="01.75">01.75</option>
<option value="02.00">02.00</option>
</select>
</div>
<div class="form-group col-md-6">
<label class="control-label" for="selection_2">Selection 2</label>
<select class="my-form-control" id="selection_2" name="right eye">
<option value="default" disabled>choose...</option>
<option value="-02.00">-02.00</option>
<option value="-01.75">-01.75</option>
<option value="-01.50">-01.50</option>
<option value="-01.25">-01.25</option>
<option value="-01.00">-01.00</option>
<option value="-00.75">-00.75</option>
<option value="-00.50">-00.50</option>
<option value="-00.25">-00.25</option>
<option value="00.00" selected>00.00</option>
<option value="00.25">00.25</option>
<option value="00.50">00.50</option>
<option value="00.75">00.75</option>
<option value="01.00">01.00</option>
<option value="01.25">01.25</option>
<option value="01.50">01.50</option>
<option value="01.75">01.75</option>
<option value="02.00">02.00</option>
</select>
</div>
</div>
<div class="container">
<div id="product_a" class="form-check">
<input class="form-check-input" type="radio" name="exampleRadios" id="exampleRadios1" value="option1">
<label class="form-check-label" for="product_a">
Product A
</label>
</div>
<div id="product_b" class="form-check">
<input class="form-check-input" type="radio" name="exampleRadios" id="exampleRadios2" value="option2">
<label class="form-check-label" for="product_b">
Product B
</label>
</div>
</div>
https://stackoverflow.com/questions/53245461
复制相似问题