简体   繁体   English

使用HTML jQuery处理选择框值

[英]Handling select box values using HTML jQuery

I have a code like this. 我有这样的代码。

HTML: HTML:

    <select id="from_value">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
    <option value="6">6</option>
    <option value="7">7</option>
    <option value="8">8</option>
    <option value="9">9</option>
    <option value="10">10</option>
    </select>
    <select id="to_value">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
    <option value="6">6</option>
    <option value="7">7</option>
    <option value="8">8</option>
    <option value="9">9</option>
    <option value="10">10</option>
    </select>

JQuery: jQuery的:

    $("#from_value").change(function () {
    var val = +this.value;
    $("#to_value option").hide();
    $("#to_value option:gt(" + val + "),#to_value option:eq(" + val + ")").show();
    $("#to_value").val(val);
    });     

The code is shared in jsfiddle for easy editing. 该代码在jsfiddle中共享,以便于编辑。 http://jsfiddle.net/fuub1wrd/1/ http://jsfiddle.net/fuub1wrd/1/

When the from value is changed, the to value is getting changed based on from_value event. 当from值更改时,基于from_value事件更改to值。

Now, what I'm trying to do is. 现在,我想做的是。

If the from_value is 5 , then the to_value should display 5,6,7,8 only (only four values from the selected value) 如果from_value5 ,则to_value应该仅显示5,6,7,8 (所选值中只有四个值)

In other words, display only four values with respect to the from_value. 换句话说,相对于from_value仅显示四个值。 If from_value is 6 , then in to_values i should be able to see only 6,7,8,9 如果from_value6 ,那么在to_values我应该只能看到6,7,8,9

How can I achieve that? 我该如何实现? I know this is bit easy, but still, I'm sitting with my code. 我知道这有点容易,但是仍然坐在我的代码旁。

Thanks, Kimz 谢谢,金兹

Try this... 尝试这个...

$("#from_value").change(function () {
    var val = +this.value;
    $("#to_value option")
    .hide()
    .filter(function() {
        return ($(this).val() >= val && $(this).val() < val + 4);
    })
    .show();
    $("#to_value").val(val);
});

http://jsfiddle.net/fuub1wrd/4/ http://jsfiddle.net/fuub1wrd/4/

It hides all the options and then uses the filter() function in order to identify the options you want to show. 它隐藏了所有选项,然后使用filter()函数来标识要显示的选项。

Try this: 尝试这个:

HTML: HTML:

<select id="from_value">
    <option value="0">select</option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
    <option value="6">6</option>
    <option value="7">7</option>
    <option value="8">8</option>
    <option value="9">9</option>
    <option value="10">10</option>
</select>
<select id="to_value">
     <option value="0">select</option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
    <option value="6">6</option>
    <option value="7">7</option>
    <option value="8">8</option>
    <option value="9">9</option>
    <option value="10">10</option>
</select>

Jquery : jQuery的:

$("#from_value").change(function () {
    var val = +this.value;
    $("#to_value option").removeAttr('disabled');
    $("#to_value option:lt(" + val + ")").attr('disabled','disabled');
});

DEMO 演示

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM