用js隐藏选定文本

Hiding select text with js

本文关键字:文本 隐藏 js      更新时间:2023-09-26

我有一个选择选项,如下所示。这些值是动态创建的。有没有办法用js/jquery隐藏价格?

请记住,我不能访问文本,所以我不能将价格包装在一个范围内并设置显示:无

<label for="input_1_33">Condition</label>
<select tabindex="2" name="input_33">
<option value="Please Select|" price="">Please Select</option>
<option value="Poor|-5" price="-£ 5.00">Poor -£ 5.00</option>
<option value="Average|0" price="">Average</option>
<option value="Good|5" price="+£ 5.00">Good +£ 5.00</option>
<option value="Excellent|10" price="+£ 10.00">Excellent +£ 10.00</option>
</select>

看起来是这样的:

<label for="input_1_33">Condition</label>
<select tabindex="2" name="input_33">
<option value="Please Select|" price="">Please Select</option>
<option value="Poor|-5" price="-£ 5.00">Poor</option>
<option value="Average|0" price="">Average</option>
<option value="Good|5" price="+£ 5.00">Good</option>
<option value="Excellent|10" price="+£ 10.00">Excellent</option>
</select>

提前感谢

这里有一种超简洁的方法来满足您的需求:jsFiddle

jQuery:

$('select[name="input_33"] option:gt(0)').each(function(){
    $(this).text( ($(this).text().split(' ')[0]) );
});

为Select分配一个ID,然后在Script块中分配以下内容:

<script language="javascript" type="text/javascript">
    $(document).ready(function () {
        $("#input_33").each(function () {
            $('option', this).each(function () {
                var option = this;
                var space = option.text.indexOf(" ");
                if (space > -1) {
                    option.text = option.text.substring(0,space);
                }
            })
        });
    });
</script>

编辑:正如你所看到的,我所做的是在每个选项项中找到空格,然后在找到空格的地方剪切字符串。它会让"请选择"变成"请",但你会得到漂移。

祝你好运!