JQuery -只比较select输入中所有选项的一部分文本,并选择匹配的那个

JQuery - Compare only a part of the text of all the options inside a select input, and select the one that matches

本文关键字:文本 选择 一部分 JQuery 输入 select 比较 选项 -只      更新时间:2023-09-26

我有下一个选择输入:

<h6>Opciones: </h6> 
<select id="id_opciones" name="elegir_opciones">
<option value="" selected="selected">---------</option>
<option value="1">1-Primero-0 </option>
<option value="2">2-Segundo-2000.00</option>
<option value="3">3-Caja-0 </option>
<option value="4">4-Tercero-4000.00</option>
<option value="5">5-Cuarto-6000.00</option>
</select>

还有一个从表格中得到的变量,假设这是变量

var comparar=5000;

我想做的是比较选项内文本的最后一个值,与变量comparar,让我们以最后一项为例:

<option value="5">5-Cuarto-6000.00</option>

我想与comparar比较的值是6000.00(我知道如何获得此值,使用分割),并使用选项2,4和5。

条件将是这样的:

if (option2_value<=comparar && comparar<option4_value){
  //select option 2
}
if (option4_value<=comparar && comparar<option5_value){
  //select option 4
}
if (comparar>=option5_value>){
  //select option 5
}

可能主要的问题是,如何使一个选择输入的个性化选择器?

试试这个

    <script>
    $(document).ready(function(){
      var option1_value = ($('#id_opciones option:eq(1)').text()).split('-')[2];
      var option2_value = ($('#id_opciones option:eq(2)').text()).split('-')[2];
      var option3_value = ($('#id_opciones option:eq(3)').text()).split('-')[2];
      var option4_value = ($('#id_opciones option:eq(4)').text()).split('-')[2];
      var option5_value = ($('#id_opciones option:eq(5)').text()).split('-')[2];
      if(option2_value <= comparar && comparar < option4_value){
        $('#id_opciones option:eq(2)').attr("selected",true)
      }
      else if (option4_value <= comparar && comparar < option5_value){
        $('#id_opciones option:eq(4)').attr("selected",true)
      }
      else if (comparar >= option5_value ){
        $('#id_opciones option:eq(5)').attr("selected",true)
      }
    });
    </script>

获取选定选项文本值的优化方法:$( "#id_opciones option:selected" ).text();参考此链接