2015-12-03 76 views
2

返回相同的值下面是我的一個Ajax多個圖像的代碼上傳jQuery的.VAL總是下拉

<script> 
$(document).ready(function() 
{ 

    var settings = { 
     url: "upload.php", 
     method: "POST", 
     allowedTypes:"jpg,png", 
     fileName: "myfile", 
     formData: {"projectId":$('#project_name').val()}, 
     multiple: true, 
     onSuccess:function(files,data,xhr) 
     { 
      $("#status").html("<font color='green'>Upload is success</font>"); 
     }, 
     afterUploadAll:function() 
     { 
      alert("all images uploaded!!"); 
     }, 
     onError: function(files,status,errMsg) 
     {  
      $("#status").html("<font color='red'>Upload is Failed</font>"); 
     } 
    } 
    $("#mulitplefileuploader").uploadFile(settings); 

}); 
</script> 

下面是我的文本字段值

<select class="form-control" name="project_name" id="project_name"> 
<option value="1">Project 1</option> 
<option value="2">Project 2</option>          
</select> 

下面是我的文件上傳DIV

<div id="mulitplefileuploader">Upload</div> 

上面的div使用了一個js文件,它可以將ajax上傳幾個圖像到一個文件夾,它的工作。但是當我嘗試發送數據(選定的下拉值)時,儘管我使用jquery啓動,但始終爲1。

請問document.ready部分可能有問題。

感謝

當我改變下拉列表的值,並使用圖片上傳,項目ID始終,儘管我改變下拉的價值,並嘗試獲得價值

$('#project_name').val() 

如何更改我的代碼,以便當腳本上傳圖像被執行,它會得到由ID PROJECT_NAME當前選擇的下拉列表中,selected.val

比KS!

+1

您正在試圖讓文件準備處理select'的'值的提出,在這一點上你的選擇總是會在默認價值(第一個)。您需要在其更改處理程序而不是文檔就緒處理程序上獲取「select」的值。 –

回答

3

使用

$('#project_name option:selected').val() 

,如果你想選擇文本,即項目1,項目2等,其獲取選擇的選項的值

現在,你需要寫

$('#project_name option:selected').text() 

UPDATE

問題實際上是與您的代碼設置。您在$(document).ready中創建了settings。因此,即使您更改selected option,它也不會更改在document ready期間定義的settings內的值。您需要更新您的設置onchange或以其他方式。

+1

似乎我的代碼只啓動一次,並且它固定在1,加載時。並且不會再次觸發以獲得選定的值。也許我需要銷燬「設置」,並在選項更改時重新觸發 –

1

嘗試$("#project_name option:selected").val();

3

綁定上傳到形式

$(document).ready(function() 
{ 
$('form').submit(function(e){ 
e.preventDefault() 
    var settings = { 
     url: "upload.php", 
     method: "POST", 
     allowedTypes:"jpg,png", 
     fileName: "myfile", 
     formData: {"projectId":$('#project_name option:selected').val()}, 
     multiple: true, 
     onSuccess:function(files,data,xhr) 
     { 
      $("#status").html("<font color='green'>Upload is success</font>"); 
     }, 
     afterUploadAll:function() 
     { 
      alert("all images uploaded!!"); 
     }, 
     onError: function(files,status,errMsg) 
     {  
      $("#status").html("<font color='red'>Upload is Failed</font>"); 
     } 
    } 
    $("#mulitplefileuploader").uploadFile(settings); 

}); 
}); 
+0

在這種情況下沒有「提交」按鈕,它只需選擇一個下拉列表和一個ajax javascript。 –

+0

如果您沒有subimt按鈕,您如何上傳文件? – madalinivascu