JQuery - 仅比较选择输入中所有选项的部分文本,并选择匹配的选项

时间:2016-08-10 04:54:40

标签: javascript jquery

我有下一个选择输入:

<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
}

可能主要问题是,如何为选择输入制作个性化选择器?

2 个答案:

答案 0 :(得分:0)

试试这个

    <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>

答案 1 :(得分:0)

获取所选选项的文本值的优化方法: $( "#id_opciones option:selected" ).text(); 请参阅此link