如果在阵列

时间:2017-10-09 04:29:05

标签: php jquery arrays jquery-selectors

例如

如果选择id="select[1]" value=1

id 2-5无法选择value=1

<?php for($i= 0;$i<5;$i++){ ?>
    <select id="select[]" name="select[]">
        <option hidden selected>Please Select</option>
        <option value="1">Test 1</option>
        <option value="2">Test 2</option>
        <option value="3">Test 3</option>
    </select>
<?php } ?>

1 个答案:

答案 0 :(得分:1)

为了避免必须保持每个选择或类似的状态,我的方法是在更改选择时重新添加和禁用相应的选项

$('select').change(function() {

    // First we enable all options.
    $('select option:not(:first)').prop('disabled',false);

    // Then we take each selected value and disable that option in all selects.
    $('select').filter(function() { return $(this).val() != 'Please Select' }).each(function() {
        $('select').not(this).find('option[value='+this.value+']').prop('disabled',true);
    });

});

这里有一个工作小提琴... https://fiddle.jshell.net/rigobauer/26ce42od/

一条建议,我认为你不能使用id的数组,并且可能会给你带来麻烦。你最好为每个选择设置一个唯一的id,这在你的情况下非常简单......

<?php for ($i= 0; $i<5; $i++) { ?>
    <select id="select<?=$i?>" name="select[]">
        <option hidden selected>Please Select</option>
        <option value="1">Test 1</option>
        <option value="2">Test 2</option>
        <option value="3">Test 3</option>
    </select>
<?php } ?>

我希望它有所帮助