[英]jQuery Selector to set value to specific text input field of the same name
我有三個具有相同名稱的文本輸入字段和三個獲取文件名的文本字段。 我想獲得三個文件名
function getFileData(myFile){ var file = myFile.files[0]; var filename = [file.name]; $("input:text").val(filename); }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <body> <input type="file" id="file_name" name="file_name[]" onchange="getFileData(this);" /> <input type="text" id="file_name_helper" name="file_name_helper[]"/> <input type="file" id="file_name" name="file_name[]" onchange="getFileData(this);" /> <input type="text" id="file_name_helper" name="file_name_helper[]" /> <input type="file" id="file_name" name="file_name[]" onchange="getFileData(this);"/> <input type="text" id="file_name_helper" name="file_name_helper[]" />
上面的代碼將所有字段設置為文件名。 我想只設置與文件輸入字段匹配的字段。
是否有一個jQuery選擇器來做到這一點?
正如您的HTML所示,您可以使用.next()
如:
$(myFile).next('input[type=text]').val(filename);
請注意:屬性id
在文檔中必須是唯一的。 如果要引用具有相同屬性的多個元素,請改用class
。
function getFileData(myFile){ var file = myFile.files[0]; var filename = [file.name]; $(myFile).next('input[type=text]').val(filename); }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"> . </script> <input type="file" class="file_name" name="file_name[]" onchange="getFileData(this);" /> <input type="text" class="file_name_helper" name="file_name_helper[]"/> <input type="file" class="file_name" name="file_name[]" onchange="getFileData(this);" /> <input type="text" class="file_name_helper" name="file_name_helper[]" /> <input type="file" class="file_name" name="file_name[]" onchange="getFileData(this);"/> <input type="text" class="file_name_helper" name="file_name_helper[]" />
function getFileData(myFile){ var file = myFile.files[0]; var filename = [file.name]; $(myFile).next().val(filename); }
<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"> . </script> <meta charset=utf-8 /> </head> <body> <input type="file" id="file_name" name="file_name[]" onchange="getFileData(this);" /> <input type="text" id="file_name_helper" name="file_name_helper[]"/> <input type="file" id="file_name" name="file_name[]" onchange="getFileData(this);" /> <input type="text" id="file_name_helper" name="file_name_helper[]" /> <input type="file" id="file_name" name="file_name[]" onchange="getFileData(this);"/> <input type="text" id="file_name_helper" name="file_name_helper[]" /> </body> </html>
在單擊的輸入上使用jquery的下一個函數找到下一個輸入元素並填充文本輸入
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"> . </script> <meta charset=utf-8 /> </head> <body> <input type="file" id="file_name" name="file_name[]" onchange="getFileData(this);" /> <input type="text" id="file_name_helper" name="file_name_helper[]"/> <input type="file" id="file_name" name="file_name[]" onchange="getFileData(this);" /> <input type="text" id="file_name_helper" name="file_name_helper[]" /> <input type="file" id="file_name" name="file_name[]" onchange="getFileData(this);"/> <input type="text" id="file_name_helper" name="file_name_helper[]" /> <script> function getFileData(myFile){ var file = myFile.files[0]; var filename = [file.name]; $(myFile).next('input').val(filename); } </script> </body> </html>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.