vue2.0结合Element实现select动态控制input禁用

今天有一个盆友问小颖,怎么实现用select动态控制input禁用,也就是说,input默认是可编辑的,但是每当我选一次select,input就会变成禁用,虽然小颖不知道她为什么这样做,因为小颖觉得为什么不直接把input设置成禁用的而要用动态的,选一次select禁用一次input,也就是说,input只有在select是没有点击过的时候是可编辑的,但凡我改变一次select的值,input就要被设置成禁用,其实没有必要,因为第一次设置成禁用后面已经不能再改变input的值了,不过当时小颖也不会,折腾了半天,最终在刚刚解决了那个问题。

我们先一起来看看效果图:

小颖就不配置环境了,小颖当时在试的时候是用Element官网中的Form 表单环境试验的大家一起来看代码吧:

html:

 1 <script src="//unpkg.com/vue/dist/vue.js"></script>
 2 <script src="//unpkg.com/[email protected]/lib/index.js"></script>
 3 <div id="app">
 4 <el-form :inline="true" :model="formInline" class="demo-form-inline">
 5   <el-form-item label="审批人">
 6     <el-input v-bind:disabled="disabledInput" v-model="formInline.user" placeholder="审批人"></el-input>
 7   </el-form-item>
 8   <el-form-item label="活动区域">
 9     <el-select v-model="formInline.region" @change="inputToDisabled" placeholder="活动区域">
10       <el-option label="区域一" value="shanghai"></el-option>
11       <el-option label="区域二" value="beijing"></el-option>
12     </el-select>
13   </el-form-item><el-form-item>
14     <el-button type="primary" @click="onSubmit">查询</el-button>
15   </el-form-item>
16 </el-form>
17 </div>

js:

 1 var Main = {
 2     data() {
 3       return {
 4         formInline: {
 5           user: ‘‘,
 6           region: ‘‘
 7         },
 8         disabledInput:false
 9       }
10     },
11     methods: {
12       onSubmit() {
13         console.log(‘submit!‘);
14       },
15       inputToDisabled(){
16           this.disabledInput=true;
17       }
18     }
19   }
20 var Ctor = Vue.extend(Main)
21 new Ctor().$mount(‘#app‘)

css:

@import url("//unpkg.com/[email protected]/lib/theme-default/index.css");

大家要是想看运行的代码可以移步至:Element官网中的Form 表单环境大家可以在哪里将代码运行起来看下效果到底是怎样的嘻嘻。

下面小颖在给大家分享下用JavaScript和jquery怎么实现上面的效果,小颖就简单的给大家做个demo就不写漂亮的样式了嘻嘻。好吧其实我是懒得不想写哈哈哈

1.JavaScript实现动态将input设成disabled,可以用id、class实现。

id:

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title></title>
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript">
        function inputToDisabled() {
          document.getElementById("disabledInput").disabled = true;
        }
    </script>
</head>

<body>
    <div class="">
        <input type="text" class="disabled_input" id="disabledInput">
        <button type="button" name="button" onclick="inputToDisabled()">禁用input</button>
    </div>
</body>

</html>

class:

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title></title>
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript">
        function inputToDisabled() {
          document.getElementsByClassName("disabled_input")[0].disabled = true;
    </script>
</head>

<body>
    <div class="">
        <input type="text" class="disabled_input" id="disabledInput">
        <button type="button" name="button" onclick="inputToDisabled()">禁用input</button>
    </div>
</body>

</html>

2.jquery实现动态将input设成disabled,可以用id、class实现。

id:

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title></title>
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript">
        $(function(){
          $("#disabledInputBtn").click(function(){
            $("#disabledInput").attr("disabled", true);
          });
        })
    </script>
</head>

<body>
    <div class="">
        <input type="text" class="disabled_input" id="disabledInput">
        <button type="button" name="button" id="disabledInputBtn" onclick="inputToDisabled()">禁用input</button>
    </div>
</body>

</html>

class:

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title></title>
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript">
        $(function(){
          $("#disabledInputBtn").click(function(){
            $(".disabled_input").attr("disabled", true);
          });
        })
    </script>
</head>

<body>
    <div class="">
        <input type="text" class="disabled_input" id="disabledInput">
        <button type="button" name="button" id="disabledInputBtn" onclick="inputToDisabled()">禁用input</button>
    </div>
</body>

</html>
时间: 2024-12-18 17:46:08

vue2.0结合Element实现select动态控制input禁用的相关文章

vue2.0之element table的使用

说明: 1.改变表头居中问题:    需要在el-table-column中添加  header-align="center" <el-table :data="tableData" style="width: 100%" >                    <el-table-column prop="date" header-align="center" label="

html一个页面链接携带参数跳转另一个页面基于vue2.0的element框架

来给生活比个耶! 1.按钮 <el-button @click="albumList(scope.row.id)" size="mini" type="primary" size="small">相册列表</el-button> 2.js函数 albumList (id){ location.href=`album_list.html?id=`+id /*跳转页面传递id值*/ }, 3.钩子函数 加载

vue2.0 + element ui 后台管理系统

vue2.0 和 elementui  搭建的一个后台管理系统 概述: 这是一个用vuejs2.0和element搭建的后台管理界面. 技术栈: vue2.0:渐进式JavaScript框架,易用.灵活.高效,似乎任何规模的应用都适用. element ui:基于vue2.0的ui组件库. vue-router:一般单页面应用spa都要用到的前端路由. vuex:Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式. webpack + es6/7 + less mock.js : 相

通信vue2.0组件

vue2.0组件通信各种情况总结与实例分析 Props在vue组件中各种角色总结 在Vue中组件是实现模块化开发的主要内容,而组件的通信更是vue数据驱动的灵魂,现就四种主要情况总结如下: 使用props传递数据---组件内部 //html <div id="app1"> <i>注意命名规定:仅在html内使用my-message</i> <child my-message="组件内部数据传递"></child&

饿了么基于Vue2.0的通用组件开发之路(分享会记录)

Element:一套通用组件库的开发之路 Element 是由饿了么UED设计.饿了么大前端开发的一套基于 Vue 2.0 的桌面端组件库.今天我们要分享的就是开发 Element 的一些心得. 官网:http://element.eleme.io/#/github:https://github.com/ElemeFE/element ## 设计目的 大部分项目起源都是源于业务方的需求,Element 也是一样.随着公司业务发展,内部开始衍生出很多后台系统,UED 部门也接到越来越多的设计需求,

Vue2.0 新手完全填坑攻略——从环境搭建到发布

本文作者 Jinkey(微信公众号 jinkey-love,官网 https://jinkey.ai) 原文链接 https://jinkey.ai/post/tech/vue2.0-xin-shou-wan-quan-tian-keng-gong-lue-cong-huan-jing-da-jian-dao-fa-bu 文章允许非篡改署名转载,删除或修改本段版权信息转载的,视为侵犯知识产权,我们保留追求您法律责任的权利,特此声明! 感谢 showonne.yubang 技术指导 Demo 地址

Vue2.0项目

什么是 Vue Vue 是一个前端框架,特点是 数据绑定 比如你改变一个输入框 Input 标签的值,会 自动同步 更新到页面上其他绑定该输入框的组件的值 ? 组件化 页面上小到一个按钮都可以是一个单独的文件.vue,这些小组件直接可以像乐高积木一样通过互相引用而组装起来  ? Vue2.0 推荐开发环境 ? Homebrew 1.0.6(Mac).Node.js 6.7.0.npm 3.10.3.webpack 1.13.2.vue-cli 2.4.0.Atom 1.10.2 安装环境 打开终

Vue2.0的通用组件

饿了么基于Vue2.0的通用组件开发之路(分享会记录) Element:一套通用组件库的开发之路 Element 是由饿了么UED设计.饿了么大前端开发的一套基于 Vue 2.0 的桌面端组件库.今天我们要分享的就是开发 Element 的一些心得. 官网:http://element.eleme.io/#/github:https://github.com/ElemeFE/element ## 设计目的 大部分项目起源都是源于业务方的需求,Element 也是一样.随着公司业务发展,内部开始衍

Vue2.0总结———vue使用过程常见的一些问题

Vue目前的的开发模式主要有两种: 1.直接页面级的开发,script直接引入Vue 2.工程性开发,webpack+loader或者直接使用脚手架工具Vue-cli,里面的文件都配置好了 webpack可以进行配置,配置多文件入口,进行多页面开发 第二种Vue开发,结合webpack打包完文件会很大,怎么解决这个问题? 1.webpack代码拆分:code-spliting 2.提取公共(如提取css,js) 3.预渲染:使用prerender-spa-plugin插件 4.后台----开启压