从同一个创建的select中设置动态创建的输入框的attr

时间:2015-01-23 10:40:15

标签: jquery dynamic closest

我需要设置动态创建的输入框的占位符

http://jsfiddle.net/ec1zsmcz/

'问题'一行在这里:

 $('input[name="search[]"]').eq($(this).index()).attr('placeholder', 'YYYY-MM-DD');

我试过

$(this).closest('input[name="search[]"]').attr('placeholder', 'YYYY-MM-DD');

但那没用。

目前只填充顶部输入框...我希望它设置相应的输入框

3 个答案:

答案 0 :(得分:2)

试试这个: -

$(this).parents('tr').find('input[name="search[]"]').attr('placeholder', 'YYYY-MM-DD');

Demo

答案 1 :(得分:0)

您需要找到包含控件组(tr)的最近祖先并向下搜索:

$(this).closest('tr').find('input[name="search[]"]').attr('placeholder', 'YYYY-MM-DD');

JSFiddle: http://jsfiddle.net/TrueBlueAussie/ec1zsmcz/3/

答案 2 :(得分:0)

尝试最初触发.change()以在页面加载后获得预期结果

$('.searchSelect').change(function(){
    var cache = $(this).closest('tr').find('input[name="search[]"]');
    cache.attr('placeholder', $(this).val().lastIndexOf('Dates|', 0) === 0 ? 'YYYY-MM-DD' : "");
}).change();

DEMO

相关问题