2017-10-13 10 views
0

Javascript:アップロードファイル名に基づいてフォーム選択オプションを選択するにはどうすればよいですか?ファイル名は、CCCが含まれている場合、私は、ファイル名がBBBが含まれている場合は、BBBを選択したいと思いますJavascript:アップロードファイル名に基づいてフォーム選択オプションを選択するにはどうすればよいですか?

<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> 

、およびCCC:

は、私が選択フォーム要素とファイルのアップロード入力要素を持っています。それ以外の場合は、[要素の選択]オプションのみを選択します。

jQueryのソリューションに)あなたの助けを

感謝を 1)ピュアJSソリューション と 2を歓迎します!

答えて

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(''); 
}); 
+0

はそれを動作させることはできません。http://jsbin.com/bewesorami/1/edit?html,js,output – klor

+0

あなたはjqueryのを持っていません読み込まれた –

+0

これが1)PURE JSまたは2)JQUERYの解決策である場合、あなたは書きませんでした。 – klor

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"); 
    } 
    } 
}) 
+0

私はそれが動作しないと思う:http://jsbin.com/kerewoyido/edit?html,js,output何私は間違っている? – klor

+0

これはまだ動作していません:http://jsbin.com/soroyuxafu/1/edit?html,js,output – klor

関連する問題