我试图获取正则表达式选择的每个元素的每个值。
具体来说,我有一个像这样的输入列表,由循环生成
<input type="file" name="file[{$some_file.id}]">
我正试图通过像这样的jquery来获取每个输入的值
$("input[name^='file[']").change(function () {
//get each input value
})
我试过this.val()
,但显然它没有用。我非常感谢你的帮助。
答案 0 :(得分:2)
事件处理程序this
绑定是元素本身,而不是jQuery
对象。
来自.on()
当jQuery调用处理程序时,
this
关键字是对元素的引用
所以你想要
this.value
请参阅https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#Value
$('input[name^="file["]').on('change', function() {
console.info(this.name, this.value)
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="file" name="file[0]">
<input type="file" name="file[1]">
<input type="file" name="file[2]">
<input type="file" name="not-this-one">
或者,将元素包装在这样的jQuery
对象中并使用.val()
方法
$(this).val()