JQuery - 按属性选择?

发布于 2024-09-19 15:26:53 字数 1245 浏览 4 评论 0原文

这在 Opera 中有效,但显然在其他方面不起作用。

HTML

<input type="checkbox" name="iphone" value="checked" checked="checked"  />
<input type="checkbox" name="photocart" value="checked" checked="checked"  />

JS

$("input[name=iphone]").attr('checked', 'checked');
$("input[name=photocart]").attr('checked', 'checked');
$("input[name=iphone]").attr('disabled', 'disabled');
$("input[name=photocart]").attr('disabled', 'disabled');

我也尝试过以下方法,但无济于事。

$("input[name|=iphone]").attr('checked', 'checked');
$("input[name|=photocart]").attr('checked', 'checked');
$("input[name|=iphone]").attr('disabled', 'disabled');
$("input[name|=photocart]").attr('disabled', 'disabled');

$("[name=iphone]").attr('checked', 'checked');
$("[name=photocart]").attr('checked', 'checked');
$("[name=iphone]").attr('disabled', 'disabled');
$("[name=photocart]").attr('disabled', 'disabled');

$("[name|=iphone]").attr('checked', 'checked');
$("[name|=photocart]").attr('checked', 'checked');
$("[name|=iphone]").attr('disabled', 'disabled');
$("[name|=photocart]").attr('disabled', 'disabled');

他们中的任何一个人都没有快乐。关于如何让这件事进行下去有什么想法吗?

编辑:- Epic 复制 HTML 失败,抱歉!

This works in Opera but apparently nothing else.

HTML

<input type="checkbox" name="iphone" value="checked" checked="checked"  />
<input type="checkbox" name="photocart" value="checked" checked="checked"  />

JS

$("input[name=iphone]").attr('checked', 'checked');
$("input[name=photocart]").attr('checked', 'checked');
$("input[name=iphone]").attr('disabled', 'disabled');
$("input[name=photocart]").attr('disabled', 'disabled');

I have also tried the following to no avail.

$("input[name|=iphone]").attr('checked', 'checked');
$("input[name|=photocart]").attr('checked', 'checked');
$("input[name|=iphone]").attr('disabled', 'disabled');
$("input[name|=photocart]").attr('disabled', 'disabled');

$("[name=iphone]").attr('checked', 'checked');
$("[name=photocart]").attr('checked', 'checked');
$("[name=iphone]").attr('disabled', 'disabled');
$("[name=photocart]").attr('disabled', 'disabled');

$("[name|=iphone]").attr('checked', 'checked');
$("[name|=photocart]").attr('checked', 'checked');
$("[name|=iphone]").attr('disabled', 'disabled');
$("[name|=photocart]").attr('disabled', 'disabled');

No joy on any of them. Any ideas on how I can get this going?

EDIT :- Epic failed on the copying of the HTML SORRY!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

冷了相思 2024-09-26 15:26:54

您可以这样指定它:

$('input[name=hosting][checked]')

有关详细信息,请参阅 Jquery 多选择器页面

You can specify it like this:

$('input[name=hosting][checked]')

See the Jquery multiple selector page for more info.

昵称有卵用 2024-09-26 15:26:54

属性选择器 [name=val]< /code> 匹配具有属性 name 且其值恰好为 val 的所有元素。与此相反,[name|=val] 匹配具有属性 name 的所有元素,该属性的值要么恰好是“val”,要么以“val”开头“val”后紧跟“-”。后者更适合与语言代码一起使用(例如,[lang|=en]lang="en-US" 匹配)。因此,请使用前一个选择器来进行精确匹配。

The attribute selector [name=val] matches all elements that have an attribute name that’s value is exactly val. In opposite to that, [name|=val] matches all elements that have an attribute name that’s value either being exactly "val" or beginning with "val" immediately followed by "-". The latter is rather intended to be used with a language codes (e.g. [lang|=en] matches lang="en-US"). So use the former selector for an exact match.

遗弃M 2024-09-26 15:26:54

首先,您有两个名为“hosting”的元素,但您没有使用“input[name=hosting]”。

您的 HTML:

<input type="checkbox" name="iphone" value="checked" checked="checked"  />
<input type="checkbox" name="photocart" value="checked" checked="checked"  />

JS(应该) :

$('input[name=iphone]').attr('checked', true);
$('input[name=photocart]').attr('checked', true);
$('input[name=iphone]').attr('disabled', true);
$('input[name=photocart]').attr('disabled', true);

请记住,如果您有多个名为“iphone”或“photocart”的元素,jQuery 也会更改它们的属性。

使用 truefalse 代替属性值的“checked”或“disabled”。请记住,您正在操作 DOM,因此它与 不同。

First off, you have two elements named "hosting", but you aren't using "input[name=hosting]".

Your HTML:

<input type="checkbox" name="iphone" value="checked" checked="checked"  />
<input type="checkbox" name="photocart" value="checked" checked="checked"  />

JS (that should work):

$('input[name=iphone]').attr('checked', true);
$('input[name=photocart]').attr('checked', true);
$('input[name=iphone]').attr('disabled', true);
$('input[name=photocart]').attr('disabled', true);

Keep in mind that if you have more than one element with name "iphone" or "photocart" that jQuery will change their attributes as well.

Use true or false instead of 'checked' or 'disabled' for the attribute values. Remember, you're manipulating the DOM, so it's different than having <input type="checkbox" disabled="disabled" />.

南城旧梦 2024-09-26 15:26:54
//for each one
$("input[name=photocart] :checked").val();
$("input[name=iphone] :checked").val();

//general, used with an event
result = $(this).is(":checked");

//general, used with a css class in common (add a class="checkable" to your target inputs)
$(".checkable:checked").each(function() {
    result += this.value;
}
//for each one
$("input[name=photocart] :checked").val();
$("input[name=iphone] :checked").val();

//general, used with an event
result = $(this).is(":checked");

//general, used with a css class in common (add a class="checkable" to your target inputs)
$(".checkable:checked").each(function() {
    result += this.value;
}
鹿港小镇 2024-09-26 15:26:54

请注意,您也可以进行基本操作,如下所示:

if ($("input[name=iphone]")[0].checked) // returns true or false depending on the value
if $("input[name=photocart]")[0].checked) 
if ($("input[name=iphone]")[0].disabled) // returns boolean value
if ($("input[name=photocart]")[0].disabled)

$("input[name=iphone]")[0].checked = true;// sets the check to true (checked) 
$("input[name=photocart]")[0].attr('checked', true); 
$("input[name=iphone]")[0].disabled = false;// enables the input control
$("input[name=photocart]")[0].attr('disabled', true); 

另一个很酷的技巧,将值设置为当前不是的值,其作用类似于toogle:

$("input[name=iphone]")[0].checked = !$("input[name=iphone]")[0].checked;

编辑:将所有选中的框设置为未选中的示例:

$("input:checked")[0] = false;// single
$('input:checked').each(function() {
    this.checked = true;
});

注意如果您给它们一个名为“mycheckbox”的类更简单:

var toggle_click = false; 
$(function() {  
  $('.mycheckbox').click(function() { 
    $('.mycheckbox').each().checked = !this.checked; 
    toggle_click = !toggle_click; 
  }); 
});

如果它被选中,则取消选中它:

$('.cptIcdCheckbox:checked').each(function() {
            this.checked = !this.checked;
 });

如果我有一个复选框列表和一个“标题”复选框来取消选中它们或根据“组标题”复选框来选中它们,我会使用此技术值及其点击和/或更改事件。

Note that you can also go basic and do these like this:

if ($("input[name=iphone]")[0].checked) // returns true or false depending on the value
if $("input[name=photocart]")[0].checked) 
if ($("input[name=iphone]")[0].disabled) // returns boolean value
if ($("input[name=photocart]")[0].disabled)

$("input[name=iphone]")[0].checked = true;// sets the check to true (checked) 
$("input[name=photocart]")[0].attr('checked', true); 
$("input[name=iphone]")[0].disabled = false;// enables the input control
$("input[name=photocart]")[0].attr('disabled', true); 

Another cool trick, set the value to what it is NOT at present which acts like a toogle:

$("input[name=iphone]")[0].checked = !$("input[name=iphone]")[0].checked;

EDIT: example to set all checked boxes to unchecked:

$("input:checked")[0] = false;// single
$('input:checked').each(function() {
    this.checked = true;
});

NOTE IF you give them a class called "mycheckbox" even simpler:

var toggle_click = false; 
$(function() {  
  $('.mycheckbox').click(function() { 
    $('.mycheckbox').each().checked = !this.checked; 
    toggle_click = !toggle_click; 
  }); 
});

AND IF it is checked, uncheck it:

$('.cptIcdCheckbox:checked').each(function() {
            this.checked = !this.checked;
 });

I use this technique if I have a list of checkboxes and a "header" checkbox to uncheck them all or check them all depending upon the "group header" checkbox value and it's click and/or change event.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文