如何删除下拉列表中的部分文本
How to remove part of text in a dropdown list?
我正在开发一个智能模板,我只能编辑HTML和放置JavaScript,但不能编辑php代码。
列表如下:
<select>
<option id="1" value="first">{$line1}</option>
<option id="2" value="second">{$line2}</option>
</select>
其中,在活动页面中,{$line1}
显示为green
,{$line2}
显示为black and white
。
我想放置一个JavaScript或jQuery代码,从{$line2}
中取出(删除)and white
文本,以便仅显示black
。有什么建议吗?非常感谢您的回答。
这里有一个动态解决方案:
$('select option').each(function(i, item){
var words = $(item).text().split(' ');
$(item).text(words[0]);
});
演示:Fiddle
要从下拉列表中删除选项,只需使用JavaScript:
document.getElementById("2").innerHTML = "";
document.getElementById("2").innerHTML = "black";
通过这种方式,黑色和白色将被设置为"或根本没有,然后设置为"黑色"如果你想将其更改为另一段文本,请将"黑色"更改为其他内容。
正如dandavis在评论中所说,您可以使用以下代码设置选项的值:
$('option[value=second]').text('Black')
但是,假设您的文本是动态的,并且您希望始终剪切掉第一个单词之后的任何内容(即'Black and white'
→;'Black'
或'Red and yellow'
→,'Red'
),那么您将希望使用以下内容:
var opt = $('option[value=second]');
opt.text(opt.text().split(' ')[0]);
解释:
opt.text()
获取option
的文本。
split(' ')
通过文本中的空格将字符串拆分为一个数组。
示例:使用该拆分,字符串:
'strings are awesome'
将变成字符串的数组:['strings', 'are', 'awesome']
。
[0]
从该数组中获取第一个字符串。(在您的情况下恰好是'Black'
。)
请尝试这个,在FIDDLE上演示
if ($('select option#2').text().indexOf('and white') > 0){
$('select option#2').text('black');
}
相关文章:
- 如何在从多选下拉列表中选择选项值时动态生成文本框
- 如何在剑道下拉列表中按文本和值搜索
- 如何在ReactJs中链接下拉列表和文本区域
- 使用 jQuery 从下拉列表中获取所选文本
- 根据用户从下拉列表中的选择显示多个文本框
- 使用两个下拉列表的值填充文本框
- 如果没有从下拉列表中选择任何值,则允许使用php、mysql、javascript将文本框添加到mysql表中
- 将文本框/单选按钮/和下拉列表中的信息添加到dataTable
- angularjs文本区域-如何使其与angularjs下拉列表中的选定值保持同步
- 如何删除下拉列表中的部分文本
- 将数量文本框转换为下拉列表
- 从下拉列表中选择其他选项时激活文本框
- 禁用基于下拉列表选择 asp.net JavaScript 启用文本框
- 根据下拉列表中的选定值启用文本框
- 有角度的自动建议文本排版和html ul li下拉列表
- 将Wooccommerce属性下拉列表转换为可点击文本
- 如何在选择下拉列表值的文本框中获取值
- 如何使用文本下拉列表中的绑定值来执行计算
- 默认文本下拉列表jquery
- 如何绑定到文本下拉列表