引用当前正在使用的HTML选择控件
Referencing the HTML select control currently being used
我有一个javascript程序,通过在输入(文本(框中键入正则表达式来过滤HTML选择控件中的内容列表。我可以做以下操作来正确过滤特定的选择控件:
$(function() {
$('input[data-filterable]').keyup(
function() {
filter = new filterlist(document.myform.myselect);
filter.set(this.value);
});
});
但我使用了一个自定义属性(现在可以在HTML5中完成(,称为datafilterable。属性将存储要筛选的选择控件的名称,以便JS可以使用控件的名称来筛选列表。这将是一个好主意,因为我将有一个通用的功能来过滤任何选择框,而不是一个特定的框。
你知道我该怎么做吗?我需要像这样的HTML:
<input data-filterable='{"to":"#selectbox1"}' size="30" type="text" />
但我不确定我在这里到底在做什么,以及如何处理JS。
谢谢各位:(。
试试这个:
<input data-filterable="#selectbox1" size="30" type="text" />
$(function() {
$('input[data-filterable]').keyup(
function() {
filter = new filterlist($($(this).data('filterable'))[0]);
filter.set(this.value);
});
});
分解表达式$($(this).data('filterable'))[0]
:
$(this)
将this
封装在jQuery封装器中。在我们的上下文中,由于它是一个jQuery keyup事件处理程序,this
引用了<input>
DOM节点。
CCD_ 6检索作为字符串的CCD_ 7属性的内容。在我们的例子中,它是#selectbox1
。
之后,这个字符串作为选择器传递给jQuery:$($(this).data('filterable'))
。
最后,我们取返回数组的第0个元素,它应该是目标selectbox的DOM元素。当然,如果没有一个适合选择器的选择框,这将非常糟糕地失败。如果怀疑这是一个真实的场景,请首先检查返回数组的.length
。
相关文章:
- 从动态创建的html选择中选择所选选项
- 向html选择元素添加选项
- HTML选择,在DOM中选择了正确的选项,但在firefox中显示了错误的项目
- 构建HTML选择字段并使用JavaScript数组选择选项
- 当html选择/选项发生更改时,需要更新输入字段
- 使用javascript和html选择第二个选项后发出警报
- javascript函数将当前时间显示为html选择标记的预选值
- laravel5.0中HTML选择标记的动态选择
- jQuery将输入集中在下一个tr->td时,td包含一个输入字段,但从不关注html选择
- 基于's是在HTML选择框中选择的
- 如何使用Angular 2设置HTML选择值
- 在html选择中显示AJAX成功JSON值
- 使用 jQuery 增加 HTML 选择框的大小属性
- 当我认为它不应该重新渲染视图时,如何防止 Meteor 在 html 选择 dom 单击事件上重新渲染视图
- HTML 选择元素的只读等效项
- 如何使 html 选择选项在 Meteor 中工作
- 当“不相关”的 html 选择元素没有选择任何选项时,如何退出 jQuery 事件
- HTML选择:将默认值设置为给定值,而不是从选项列表中选择
- html选择-范围为0-10
- 是否可以在HTML选择下拉菜单的每个选项上附加一个qtip2工具提示