2015-12-03 84 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