Javascript:如何根据上传文件名选择表单选择选项?

时间:2017-10-13 16:59:03

标签: javascript jquery html file-upload

Javascript:如何根据上传文件名选择表单选择选项?

我有一个select表单元素和一个文件上传输入元素:

<input size="50" name="userfile" type="file" id="id_userfile"/>

<select name="list" id="id_list">
    <option value="">Select element</option>
    <option value="11">aaa</option>
    <option value="22">bbb</option>
    <option value="33">ccc</option>
</select>

如果filename包含bbb,我想选择bbb,如果filename包含ccc,我想选择ccc。否则,只选择“选择元素”选项。

欢迎 1)纯JS解决方案 和 2)JQUERY解决方案

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

$('input#id_userfile').change(function() {

    var filePath = $(this).val();

    if (filePath.indexOf('bbb') > 0)
        $('select#id_list').val('22');
    else if (filePath.indexOf('ccc') > 0)
        $('select#id_list').val('33');
    else
        $('select#id_list').val('');
});

答案 1 :(得分:0)

在更改时,在剥离文件路径后将文件名存储在变量中。检查所需的字符串,并相应地更改所选选项:

$('#id_userfile').bind('change',function() {

  var file = $(this).val().replace(/^.*[\\\/]/, '');
  var string = file.search("foo");

  if(string != "-1") {
    $("id_list").val("foo");
  } else {
    string = file.search("bar");
    if(string != "-1") {
      $("id_list").val("bar");
    } else {
      $("id_list").val("default");
    }
  }
})