这是我的代码:
$('button').on('click', function(){
console.log($('.searchInput').val());
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class='searchInput' type='text' style='display:none' />
<input class='searchInput' type='text' />
<input class='searchInput' type='text' style='display:none' />
<button>check</button>
&#13;
如您所见$('.searchInput')
始终选择第一个输入。但我想选择一个不被隐藏的输入。我怎么能这样做?
答案 0 :(得分:2)
使用:visible
选择器。
$('button').on('click', function(){
console.log($('.searchInput:visible').val());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class='searchInput' type='text' style='display:none' />
<input class='searchInput' type='text' value='some' />
<input class='searchInput' type='text' style='display:none' />
<button>check</button>
答案 1 :(得分:0)
您应该使用$('#your_modal_id').on('show.bs.modal',function (e) {
var id = $(e.relatedTarget).data('id');
$(e.currentTarget).find('#the_id_inside_modal"]').val(id);
});
选择器。请关注以下:visible
代码::
JS
答案 2 :(得分:0)
因此,如果您有多个输入框,那么您可以通过迭代.searchInput
中的每一个来获取它,并查看它是否可见[对于更通用的解决方案]。这里使用了我.is(':visible')
。
$('button').on('click', function(){
$('.searchInput').each(function(){
if($(this).is(':visible')){
console.log($(this).val());
}
})
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class='searchInput' type='text' style='display:none' />
<input class='searchInput' type='text' />
<input class='searchInput' type='text' style='display:none' />
<button>check</button>
&#13;
答案 3 :(得分:0)
我们可以使用:enabled
。它将选择没有禁用属性的元素。
在你的情况下,你会这样做
$('button').on('click', function(){
console.log($('.searchInput:enabled').val());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class='searchInput' type='text' style='display:none' value='text one' />
<input class='searchInput' type='text' value='text two'/>
<input class='searchInput' type='text' style='display:none' value='text three' />
<button>check</button>
我对代码的html部分做了一些更改,以便更好地理解