我通过jquery发送id时遇到了一些问题。 我有一个带有一些值的表单选择,我想在更改选项选择时“抓取”id。
输出错误:[object Object] !! :/
<select name="case_name" id="case_id">
<option value="10009" >Case 1</option>
<option value="10010" >Case 2</option>
<option value="10011" >Case 3</option>
</select>
var PARAMS = { "case_id": 10009 };
$("#case_id").change(function() {
var CASE_ID = $(this).val();
var PARAMS = { "case_id": CASE_ID };
alert(CASE_ID);
});
答案 0 :(得分:3)
var CASE_ID = $("#case_id option:selected").val();
答案 1 :(得分:3)
CASE_ID
在匿名函数中定义,仅在此函数内有效。在回调中,您只需将选择框称为this
。
$("#case_id").change(function() {
var CASE_ID = $(this).val();
});
在匿名函数之外,它不存在。
var PARAMS = { "case_id": CASE_ID };
修改change
回调以包含PARAMS对象。
$("#case_id").change(function() {
var CASE_ID = $(this).val();
var PARAMS = { "case_id": CASE_ID };
});
或者再次获取值
var PARAMS = { "case_id": $("#case_id").val() };
或者可以定义一个将新选定值传递给的函数:
function sendValue(value) {
var PARAMS = { "case_id": value };
// send the value somewhere
}
$("#case_id").change(function() {
var CASE_ID = $(this).val();
sendValue(CASE_ID);
});