AJax技术

Ajax与select标签的组合运用

字号+ 作者:H5之家 来源:H5之家 2017-06-20 17:04 我要评论( )

Ajax与select标签的组合运用,formselect name=idoption value=0无/optionoption value=1选项一/optionoption value=2&g

正文

<form> <select> <option value="0">无</option> <option value="1">选项一</option> <option value="2">默认二</option> <option value="3">默认三</option> </select> <button>提交</button> </form> /*
|---------------------------------------------------------------------------------
|思路一:使用change事件,通过设置第一个option的value值,提交时固定获取第一个option的value值
|@黑眼诗人 <>
|---------------------------------------------------------------------------------
*/
$('select').change(function(){ var options = $("select").children(); //所有option对象 oThis = $(this);                //当前option对象 $('select').children('option:eq(0)').val(oThis.val());//设置第一个option的value值

  var id = oThis.val();  //第一个option的value值
  var text = oThis.text();//选择的option文字
$('button').click(function(){
    $.post('www.chenwei.ws', {id:id, text:text}, function(data){
      //...........
    });
  });
})

存在的问题: 1.当使用chang事件,再次选择默认option为'无'的情况,第一个option的value值不再变为0 /*
|---------------------------------------------------------
|思路二:使用option的selected属性,通过添加移除该属性 来标志选中
|@黑眼诗人 <>
|---------------------------------------------------------
*/
$('select').children().click(function(data){   var options = $('select'),children();   oThis = $(this);   options.removeAttr('selected');   oThis.attr({selected:'true'});   var id = oThis.val();   var text = $("option[selected='true']").text();   $('button').click(function(){     $.post('www.chenwei.ws', {id:id, text:text}, function(data){      //............     });   }); }) 存在的问题: 1.会改变原有select机制,选中的值无法显示 /*
|---------------------------------------------------------------------------------------
|思路三:不作更改操作,直接获取select标签的id值,文字为默认的option的文字,点击时获取option新的文字
|@黑眼诗人 <> |---------------------------------------------------------------------------------------
*/
var select = $('select'); var option = select.children('option:eq(0)'); var detail = option.text(); //初始文字
select.children().click(function(){   detail = $(this).text(); //如果有修改,动态获取文字 }); $('button').click(function(){ var id = select.val(); //直接获取select的id即为提交的id var detail = detail; $.post('www.chenwei.ws', {id:id, detail:detail}, function(data){ //............. }) });

使用'思路三'实现的Ajax提交与select标签的组合,没有发现存在任何的问题。

--------------------------------------------------------------------------------------------------------

分类:HTML/CSS/JS/jQuery 标签:HTML/CSS/JS/jQuery..

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 关于JQUERY的AJAX跨域问题

    关于JQUERY的AJAX跨域问题

    2017-06-20 18:00

  • Ajax式富客户端在学习管理系统的应用研究

    Ajax式富客户端在学习管理系统的应用研究

    2017-06-19 13:04

  • [置顶] 从零开始学习WEB前端之数据交互(Ajax)

    [置顶] 从零开始学习WEB前端之数据交互(Ajax)

    2017-06-19 13:03

  • Ajax 给WEB程序带来负面影响

    Ajax 给WEB程序带来负面影响

    2017-06-18 14:05

网友点评