从HTML中的select元素调用javascript函数

从HTML中的select元素调用javascript函数,javascript,jquery,html,Javascript,Jquery,Html,函数Myfunc(obj1) { 警报(obj1.prop('outerHTML'); } 值1 价值2 价值3 试试: onchange=“MyFunc(jQuery(this).find('option:selected'))”您可以使用jQuery$('selector').change(function(){}) 简化HTML: <select id="myselect"> <option value="v1">Value 1</option&g

函数Myfunc(obj1)
{
警报(obj1.prop('outerHTML');
}

值1
价值2
价值3
试试:


onchange=“MyFunc(jQuery(this).find('option:selected'))

您可以使用jQuery
$('selector').change(function(){})

简化HTML:

<select id="myselect">
    <option value="v1">Value 1</option>
    <option value="v2">Value 2</option>
    <option value="v3" selected="selected">Value 3</option>
</select>
更新。如果需要选择外部HTML,则可以:

您可以使用以下选择器:

$(document).ready(function() {
    $('#myselect').on('change', function() {
        alert($(this).find('option:selected').eq(0));
    });
});
用作

function MyFunc(obj1)
{
    alert($("#myselect option:selected").text());
}

或者你可以使用

function MyFunc(obj1)
{
    alert($("#myselect option:selected").html());
}

您可以传递对象,也可以在函数中获取所选选项

要在函数中获取所选选项html,请使用下面的代码-

注意-请更正
onchange
或函数声明中函数的拼写

函数MyFunc(obj1)
{
var值=obj1.0值;
var optionHTML=$(obj1).find('option[value=“”+value+''']');
警报($('').append(optionHTML.clone()).html());
}

值1
价值2
价值3

OP需要选项元素。不是价值。在提交A.@SwaghettiYolonese why
.eq(0)
之前,请阅读Q?不知何故,我无法撤消我的否决票并进行表决。说需要先编辑它>@TJ以确保它符合我们的需要。我无法解释为什么我总是使用eq(0),即使我确定我捕获了1个元素。据我记忆所及,我过去遇到过一些问题,但我不是这样做的。@anddoutoi没问题,我来这里是为了学习和帮助,不是为了分数。你为什么推荐内联JavaScript?将您的关注点分开,放在一个单独的JS文件中。按原样回答问题。但绝对同意f.e.Regent的解决方案,认为它是处理事件的更好方法。@jevgenig是的,我同意,它是“原样的”,顺便说一句,这个答案被投票通过了。但向OP展示处理事件的适当方式是很好的。这就是我们提到的想法。根据这一理念,我们应该教OP将侦听器连接到domready或window.onload上,甚至可以将其包装在AMD或CommonJS模块中,并在其中添加一些架构建议?问题是:多远就是多远?@Regent是的,我同意,这是“展示OP处理事件的适当方式很好”。与“console.debug(…)”相同,“debug;”是警报的好替代品,“debugger;”是试验事物的最佳方法。+1表示建议使用不引人注目的事件处理程序,而-1表示不阅读问题。这是他想要的选项元素,而不是文本。@anddoutoi您确定请求了
值1
,而不仅仅是它的文本值吗?我确实读过这个问题,“但是,我想要的是传递的对象应该只是我选择的选项”是的,我想要选择的选项的完整HTML,我真的很感谢@Regent的回答。
function MyFunc(obj1)
{
    alert($("#myselect option:selected").text());
}
function MyFunc(obj1)
{
    alert($("#myselect option:selected").html());
}