将所选选项附加到FormData
Append selected option to FormData
我正试图将用户选择的<option>
附加到发送到php页面的ajax调用中。(我不太熟悉ajax或jQuery)
我已经建立了一个JSFiddle,希望它比我如何解释它更容易理解
HTML
<select name="internType" style="width: 100%; display: block; color: #000;" id="internType">
<option selected value="default">Please Select</option>
<option value="accounting">Accounting</option>
<option value="auditing">Auditing</option>
<option value="finance">Finance</option>
<option value="humanresources">Human Resources</option>
</select>
jQuery
formData = new FormData( $(this)[0] );
self.sendData(formData);
sendData : function(formData){
var self = this;
var internChoice = $('#internType').val() // This doesn't seem to hold the value
formData.append('internChoice', internChoice); // but rather the entire list
console.log(formData);
$.ajax({
url: self.settings.path + '?i=' + self.settings.app ,
type: 'POST',
data: formData,
async: false,
success: function (data) {
console.log(data);
outcome = jQuery.parseJSON( data );
self.handleOutcome(outcome);
},
cache: false,
contentType: false,
processData: false
});
},
当我执行var_dump($_POST);
时,我会接收从输入传递的数据,但从下拉列表中,我会收到一个包含所有值的字符串。例如:
["internSelect"]=>
string(130) "
Please Select
Accounting
Auditing
Finance
Human Resources
"
我做错了什么?我该如何更好地解决我做错的事情?
我是否正在丢失选定的值?页面从不刷新,所以我不确定怎么会出现这种情况。
如果你需要知道的话,我使用的是jQuery 1.10.2。
您可以尝试这样的操作来获取值:而不是:var internChoice=$('#internType').val()
尝试:var internChoice=$('#internType选项:已选择').val()
相关文章:
- 我的单元测试选项是什么
- 如何更改bigquery API中的计费层选项
- 使用Javascript获取所选选项ID
- Selectize.js:如何对整数值的选项进行排序
- 通过js在新选项卡中有条件地打开url
- 按照选项卡索引的顺序循环一个jQuery选择
- 如何在使用selectBoxIt JQuery插件时检测选项更改
- 无法在Ionic select中预先选择最后一个选项
- 如何在选项卡上定义属性'的主窗口对象
- 为什么grunt contrib connect的中间件选项的第三个参数是未定义的
- 使用此选项选择父类内部的类
- CKeditor:更改对话框中的默认选择选项
- JQuery覆盖不更改单选选项
- 活动选项卡's源代码-获取变量s值
- 绑定时将Parsley minlength消息作为选项传递时,未对其进行自定义
- 如何从选择框中的选项中获取属性值
- 如何在从多选下拉列表中选择选项值时动态生成文本框
- React Native通过Navigator将用户输入数据传递到选项卡栏IOS中的组件
- 将所选选项附加到FormData
- XMLHttpRequest POST formData到一个新的选项卡