2011-05-13 109 views
0
var inputvalue = $(this).attr('value') 
      $('input[value=inputvalue] + label').css({ 
        '-webkit-transition': 'opacity 0.4s linear', 
        'opacity': '0' 
       }); 

但它不起作用。正如期望的值= inputvalue没有得到该变量,但寻找该名称。我怎样才能做到这一点?jquery输入选择

感谢很多:)

+0

你有没有使用'$(本)'的.VAL(),而不是考虑' $(本).attr( '值')'?哦,属性 - 等于选择器需要引用这些值。 '行情是强制性的。'参考:['val()'](http://api.jquery.com/val/),[attribute-equals selector](http://api.jquery.com/attribute-equals-selector/)。 – 2011-05-13 18:25:12

+0

你可以发布你的标记吗?它会帮助我们理解你正在尝试做什么 – meouw 2011-05-13 18:28:36

回答

3

这里需要使用一些字符串连接。

var inputvalue = $(this).val(); 
$('input[value="' + inputvalue + '"] + label').css({ 
    '-webkit-transition': 'opacity 0.4s linear', 
    'opacity': '0' 
}); 
0

试试这个: example

HTML:

<label for="myinput">Label for input</label> 
<input id="myinput" /> 
<button>check</button> 
<br /> 

JS:

$.expr[':'].value = function(obj, index, meta, stack){ 

    if (meta[3] == $(obj).val()) 
     return true;  

    return false; 
}; 

$.fn.labelInput = function() { 

    if (this && $(this).attr('id')) 
     return $('label[for="'+$(this).attr('id')+'"]'); 

    return null; 
} 

$('button').bind('click', function(event) { 

    var 
     inputvalue = $('input').val(), 
     cssOpcions = { 
      '-webkit-transition': 'opacity 0.4s linear', 
      'opacity': '0' 
     }; 

    $('input:value(' + inputvalue + ')') 
     .css(cssOpcions) 
     .labelInput().css(cssOptions); 

});