2

我在 UI 操作方面遇到问题:

我有这个代码:

var View = Backbone.View.extend({
el : '[data-container]',
ui : {
    something : '[data-something]'
},

然后我可以使用:

this.ui.something.show().

这是一个普通的 jQuery 选择器,它将禁用 div 中的所有输入元素。

$("#something :input").attr("disabled", true);

我正在尝试使用 this.ui 选择器做同样的事情,但我该如何通过:input?如果我使用

this.ui.something.attr("disabled", true);

它会禁用 div,但不会禁用其中的元素。

一些想法?

4

3 回答 3

2

假设一个元素实际上有一个 data 属性data-something$('input',this.ui.something).attr(...)应该可以工作。所做的就是在具有 data-something 属性的元素中查找所有输入

http://jsfiddle.net/sailorob/pvntR/

编辑:为了进一步澄清,选择器中的逗号分隔符 like与使用;jQuery(el1,el2)相同。jQuery(el2).find(el1)

于 2013-06-26T17:45:07.080 回答
0

该选择器不正确,应该正确,$("#something input")并且该选择器也应该在视图中工作

于 2013-06-26T17:39:37.977 回答
0
this.ui.something.find("input").attr("disabled", true);
于 2013-06-26T17:39:47.733 回答