我正在做一个带有项目列表的选择框(从Web服务创建的XML动态创建),我无法正确提取所选值。这是正在发生的事情。
我发送的内容:
onchange="changeFunction(this.options[this.selectedIndex].value)"
我收到的内容:
function (a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!=
我唯一使用的是一些自构建的函数和jQuery。
任何帮助都会很棒。
编辑:这是更改功能。它所要做的就是构建一个填充了给定选定项目值的表单。
function changeFunction(selection) {
console.log(selection);
$('#right').empty();
var addNewFields = 'these will be the fields';
$('#right').append(addNewFields);
}
以下是有问题的选择:
<select class="userSelection" id="userSelection" size="10" style="width:150px;" onchange="changeFunction(this.options[this.selectedIndex].value)"></select>
这实际上是html部分中的所有代码。它通过ajax填充,有2个div,一个用于左边,包含select,另一个用于右边,包含用户的内容。
只是为了咯咯笑,这里是创建选项的代码:
var optionTag = '<option value="' + $(this).find('optionID').text + '" >' + $(this).find('optionName').text() + '</option>';
$('#userSelection').append(optionTag);
答案 0 :(得分:1)
var optionTag = '<option value="' + $(this).find('optionID').text + '" >' + $(this).find('optionName').text() + '</option>';
应该是:
var optionTag = '<option value="' + $(this).find('optionID').text() + '" >' + $(this).find('optionName').text() + '</option>';
请注意,$(this).find('optionID').text
应为$(this).find('optionID').text()
。
甚至更好,避免这种汤:
var optionTag = $('<option/>', {
value: $(this).find('optionID').text(),
html: $(this).find('optionName').text()
});
答案 1 :(得分:0)
当你将DOM对象的事件处理程序设置为一个函数时,它会传递一个事件对象作为它的参数。
selectBox.onchange = function(event) {
changeFn(this.options[this.selectedIndex].value);
};