这个页面上有多个 select框 里面选择不通的产品 选择后在后面的单价栏目 显示相应的价格 请问怎么写?

解决方案 »

  1.   

    单个的select name 我实现了 效果  但是 多个 select 就不定了
      

  2.   

    如果渲染的时候同一行数据保存了一个统一值(比如该条目的id   [data-id='xxxx']),可以考虑循环判断当前onChange的data-id对应的那个价格进行定位
      

  3.   

    $(".....").change(function(event){
    $(this).closest("tr").find(".单价栏目元素的class").text($(this).val());
    });
      

  4.   

    我是通过JS 写的 不知道有什么错误 大神帮忙看看
    <table width="100%" >
    <tr>
    <th width="18%">项目</th>
    <th width="30%">名称</th>
    <th width="12%">单价</th>
    <th width="18%">数量</th>
    <th width="">价格</th>
    </tr>
    <!--{eval $depot_class = DB::fetch_all("SELECT * FROM %t Where pid=%d and class_on=%d and shop_on=%d ORDER BY displayorder ",array('geyu_depot_class',2,1,1));}-->
    <!--{loop $depot_class $value}-->
    <tr id="list{$value[id]}">
    <td>{$value['name']}</td>
    <td>
    <select name="class_name"   class="main_select" onChange="changeCollege()" >
    <option value=""></option>
    <!--{eval $shop = DB::fetch_all("SELECT * FROM %t Where class_id=%d ORDER BY displayorder",array('geyu_depot_shop_Monitor',$value[id]));}-->
    <!--{loop $shop $value}-->
    <option value="{$value[money]}">{$value[name]}</option>
    <!--{/loop}-->
    </select>
    </td>
    <td>
    <div name="moeny"></div>
    </td>
    <td><input name="danj"  type="text" name="" id="" value="1" /></td>
    <td><span id="overt"></span></td>
    </tr>
    <!--{/loop}-->
    </table> 
    <script type="text/javascript">
    function changeCollege(){
    //提取商品名称 name
    var class_name=document.getElementsByName("class_name");
    //提取价格名称 name
    var moeny=document.getElementsByName("moeny");
    // 循环商品名称
    for(var i=0;i<class_name.length;i++){
    //商品名称的选择事件
           class_name[i].onclick=function(){
           //打印价格到网页
         console.log(this.value);
    //  moeny[i].innerHTML = 000;
         }
       }
    }
    </script>
      

  5.   


    div元素没有name属性,需要用class获取
    <div class="moeny"></div>var moeny=document.getElementsByClassName("moeny");在事件内使用外面的循环变量时需要用闭包保存每次循环的值
    for(var i=0;i<class_name.length;i++){
    (function(i){
           class_name[i].onclick=function(){
      moeny[i].innerHTML = this.value;
         }
    })(i);
        }
      

  6.   

    网页上点击没问题了  手机上点击下拉框的产品后  不显示价格 再点下才会出来 
    是不是 不能用onChange 事件