我可以使用名称标签作为选择器

时间:2014-03-10 10:30:23

标签: jquery jquery-selectors

我有一个表单,为客户选择一个图像进行自定义,从那里它应该显示一组可以为该特定产品定制的选项,例如颜色,修剪等

首先,您选择产品,然后我想在选择后显示某些自定义选项。

并非所有产品都可以以相同的方式进行自定义,因此我需要能够删除那些不适用的选项。我无法使用该值,因为已用于更改“选择您的产品”选项所显示的图像

link

我已将每个选项的名称设置为数值,我可以这样做吗

这是启动它的正确方法吗?

if ($(this).name() == "1,2,3,4") 

然后做一些事情

任何有关这方面的帮助都会受到赞赏,我暂时没有这样做,我的大脑正在画一个空白。

4 个答案:

答案 0 :(得分:0)

您可以使用属性选择器:

var elementOne = $('[name="1"]');

有关Attribute selectorsjQuery Attribute Selectors的更多信息。

答案 1 :(得分:0)

没有名为.name()的方法,但在这种情况下看起来不像你想做的那样。您不能将逗号分隔的字符串用作值数组。你想做的是这样的:

<select>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="4">4</option>
</select>

$('select').on('change', function(){
    if ($.inArray($(this).val(), ['1', '2', '3']) > -1)
    {
        alert('in array');
    }
});

http://jsfiddle.net/Yb2t9/

答案 2 :(得分:0)

您可以使用以下

alert($(this).attr('name'));

并检查它是否在数组列表中 运用 inArray

答案 3 :(得分:0)

如果你想为每个号码做一些不同的事情,你能不能只使用if else语句?

var pNo = $(this).name();

if (pNo == 1)
{
   //Do something...
}
else if (pNo == 2)
{
   //Do something...
}
else if (pNo == 3)
{
   //Do something...
}
else if (pNo == 4)
{
   //Do something...
}