如何找出jquery函数中使用的文本字段

时间:2012-01-17 14:22:54

标签: javascript jquery color-picker

我有以下表格:

<input name="linkColor" type="text" id="colorpickerField0" >
<input name="linkColor" type="text" id="colorpickerField1" >
<input name="linkColor" type="text" id="colorpickerField2" >

在下面的函数中,我如何找出已调用的文本字段。例如,我想在onSubmit函数中设置条件,如果#colorpickerField0然后做等等,如果#colorpickerField1那么做等等等等等等。任何帮助将不胜感激。感谢

$('#colorpickerField0, #colorpickerField1, #colorpickerField2').ColorPicker({
    onSubmit: function(hsb, hex, rgb, el) {
        alert($(this));
        // do this if #Field0
        // statements
        // do this if #Field1
        // statements
        // do this if #Field2
        // statemets

        $(el).val(hex);
        $(el).ColorPickerHide();
    },
    onBeforeShow: function () {
        $(this).ColorPickerSetColor(this.value);
    }
})
.bind('keyup', function(){
    $(this).ColorPickerSetColor(this.value);
});

我正在使用http://www.eyecon.ro/colorpicker/

如果我发出警报($(this).attr('id'));我没有定义,所以我仍然不知道使用了哪一个。

5 个答案:

答案 0 :(得分:1)

if ($(el).attr('id') == 'colorpickerField0') { ... }

答案 1 :(得分:0)

试试这个:

onSubmit: function(hsb, hex, rgb, el) {

    var myID = $(this).attr('id');

    if(myID.indexOf('Field0')) {
        // ..
    }
    else if(myID.indexOf('Field1')) {
        // ..
    }
    else if(myID.indexOf('Field2')) {
        // ..
    }

    ...
}

答案 2 :(得分:0)

看起来onSubmit函数的el参数包含HTMLElement。我认为你应该能够switch($(el).attr('id')) { ... }

答案 3 :(得分:0)

试试这个:

onSubmit: function(hsb, hex, rgb, el) {
                alert($(this));
                            if($(this).attr('id') == "colorpickerField0"){

                            }

                            // do this if #Field0
                            // statements
                            // do this if #Field1
                            // statements
                            // do this if #Field2
                            // statemets
  }
[...]
所有对象都是

等等。

答案 4 :(得分:0)

你试过alert($(el).attr("id"));吗?