我用Jquery为什么总是得到select 的第一个option的值啊?!

我的代码如下:varxly=$('#answervalue').var;$('#warning1but').click(function(){alert(xly);})H... 我的代码如下:
var xly=$('#answervalue').var;
$('#warning1but').click(function(){
alert(xly);})
Html代码如下:
我是动态添加的select
$('#warning1 .modal-body').append("<form>      Do you wish to clone train and yard blocks:<select name='selectvalue1' id='answervalue' style='width:70px;height:28px;position:absolute;left:450px'></select></form>");
$('#answervalue').append("<option value='Y'>Yes</option>");
$('#answervalue').append("<option value='N'>No</option>");
我总是alert出第一个option的value或者text,就是得不到第二个的,求高手指点啊!可以直接发我邮箱 linyuanxie@yahoo.com谢谢了,我没有财富值了,不好意思。。。。
因为我是动态添加的,我需要用var=xly这个变量把客户选择的select option传递到其它地方去。
展开
 我来答
942129263
2012-10-12 · TA获得超过364个赞
知道小有建树答主
回答量:262
采纳率:0%
帮助的人:145万
展开全部
点击按钮后页面提交,select重新加载,这时候获取的select选定的项肯定是第一项
可以采用阻止页面提交的方式,即设置服务器端控件按钮的OnClientClick属性:
<asp:Button id="button1" runat="server" Text="按钮" OnClientClick="return Fun()"></asp:Button>
在Script中:
function Fun(){
alert(xly);
return false;//阻止页面提交
}
一心_920
2012-10-12
知道答主
回答量:28
采纳率:0%
帮助的人:16.1万
展开全部
var xly=$('#answervalue').var; 这是什么意思? - -#
$('#answervalue').find('option').each(function(){
alert(this.value);
});你在click里面这样写试试,他会一个一个弹出来,想一起弹的话 就写方法封装一下

每次选择的话,那行代码应该放到select 的 change事件里面
追问
sorry,这个是打字快了,写错了。因为我是动态添加的select。我需要通过var=xly这个变量把客户选择的value传递到另外一个地方去。
追答
var xly;
$("#answervalue").change(function(){
xly = $(this).val();
});
嗯 这样你再按你原来的方法取就好了

//var xly=$('#answervalue').var; 就是把你这行代码改成上面的那些,var xly写在$(function(){})外面哦,注册change事件写在里面
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xt_zsh
2012-10-12 · 超过24用户采纳过TA的回答
知道答主
回答量:81
采纳率:0%
帮助的人:47.3万
展开全部
不明白你要达到什么样的效果 另外 var xly=$('#answervalue').var; 这句写错了 应该是 var xly=$('#answervalue').val(); 吧
更多追问追答
追问
嗯,这个是我写错了,因为我是动态添加的select option,根据客户每次的选择,我都要通过 var=xly把客户选择的option 传递到后台,可是现在我只能传递第一个option里面的value,其它的却传递不了,在alert里面显示的总是第一个的。
追答
$('#warning1but').click(function(){

var xly=$('#answervalue').var;

alert(xly);})
改成这样 把获取值的语句放到 单击事件里边。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jobsfan
推荐于2017-11-25 · 超过54用户采纳过TA的回答
知道小有建树答主
回答量:206
采纳率:100%
帮助的人:155万
展开全部
没分没什么意思啊,不厚道的人。

var xly=$('#answervalue').var; 这句可以不要
$('#answervalue').live("change",function(){
alert($('#answervalue').val());.
});
动态添加的dom需要用live来搞,直接click不行的。
追问
$('#warning1 .modal-body').append(" select name='selectvalue1' id='answervalue'>");
$('#answervalue').append("Yes");
$('#answervalue').append("No");
var xly=$('#answervalue').val();
$('#warning1but').click(function(){
ajax({.....});})
我需要把这个 xly付值到ajax里面的data进行操作,你的意思是说,把click换成live?
追答
一般select的动态获取,不用click而用change,你把我的代码放到你的document ready里面试试先。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
rot_pretense
2012-10-12 · TA获得超过254个赞
知道小有建树答主
回答量:456
采纳率:0%
帮助的人:252万
展开全部
给下拉菜单的点击事件改成change事件就行了 没听说过用下拉菜单用点击事件获取值的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式