jquery 事件在不同浏览器对于事件不兼容怎么回事 5

求大神帮我看一下循环出select里面的内容获取点击的value值但运行到这里我测试alert一下获取的值除了firefox其他浏览器都不能输出$select_id的值这... 求大神帮我看一下 循环出select里面的内容 获取点击的value值 但运行到这里 我测试alert一下获取的值 除了firefox 其他浏览器都不能输出$select_id的值 这是怎么回事? 展开
 我来答
z137168075
2013-12-11 · TA获得超过215个赞
知道小有建树答主
回答量:228
采纳率:0%
帮助的人:168万
展开全部
遇到过相同问题,我觉得是浏览器的差异,表单元素在chrome ie firefox等浏览器里面对value的解析不大一样,有的用.val()能获取,有的则用 .text()能获取;
我是这样解决的:
var x=$(this).val();
if(x==""){
$select_id=$(this).text();

}else{
$select_id=$(this).val();
}
zhaoapk
2013-12-11 · TA获得超过3771个赞
知道大有可为答主
回答量:1343
采纳率:40%
帮助的人:1617万
展开全部

应该给select绑定change事件,没有给option绑定click事件的。

$(function() {
    $id = 'id';
    $parent_id = 'parent_id';
    $('select').val($id).bind('change', function () {
        // click函数复制到这里
    });
});
更多追问追答
追问
这样写是可以获取到值   但是在里面写的button提交   就无效了
追答

这里不需要监听select的change事件,button的click事件里获取值就可以了

button改button_new的地方也很奇怪,为什么要这样做呢?

$id 这个变量不是jquery对象,所以前面不用加$吧。

使用jquery的时候变量名前加$的习惯是为了区分jquery对象。

$obj = $('#id') // $obj存的是jquery对象

sId = 'id'; // sId存的是字符串


改了一下,试试下面的

$(function(){
  var id = <?php echo $_REQUEST['id'];?>;
  var parent_id = <?php echo $_REQUEST['parent_id']; ?>;
  $('select').val(id);
  $('#button').click(function () {
    name = $('#name').val();
    status = $('input[name="status"]:checked').val();
    select_id = $('select').val();
    if(name && status) {
      postdata(select_id, 1);
    }
  });
});
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友992e050a8
2013-12-11 · TA获得超过583个赞
知道小有建树答主
回答量:272
采纳率:0%
帮助的人:323万
展开全部

this在匿名作用域里 指向改变了

你试着

var that = this;
$(this).bind('click',function(){
// 这样写 看可以不
$seletc_id = $(that).val();
// 或者 $seletc_id = $(event.target).val();
})
更多追问追答
追问
都试了  还是拿不到值
追答
IE、Chrome都不支持option的click事件
FF 和 OPERA支持

所以如果select 的change能做到的
最好还是绑change
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
系统004
2013-12-11 · TA获得超过3254个赞
知道大有可为答主
回答量:1326
采纳率:68%
帮助的人:1160万
展开全部
您好:这个不是js的问题,是您jqeury选择器的问题.$("option[value='']").attr()这句.属性选择器在浏览器中有兼容性问题.建议换一个写法,不要用属性选择器.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友817c9e4
2013-12-18 · 超过20用户采纳过TA的回答
知道答主
回答量:45
采纳率:100%
帮助的人:24.4万
展开全部
我想说,你click的不是一个input吧,你把.val()改成.text()看看?啊呀,采纳的和我的一样的啦,我的被无视了~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式