select标签内动态生成的option添加点击事件

最近在工作中遇到一个小问题,在此记录一下,有碰到类似问题的同学也可以借鉴一下,【大神就请飘过了。。。】

主要要实现的小功能就是点击“中国”所在的select标签时,要让对应的右边输入手机号码的输入框内的区号跟着变化

直接上代码:

首先,是HTML部分

其次,是一组数组,里面存放了很多数据,简单举个例子

var option =[

{

"en": "China",

"zh": "中国",

"locale": "CN",

"code": 86

},

{

"en": "Colombia",

"zh": "哥伦比亚",

"locale": "CO",

"code": 57

}

... ...

                    ]

==============================================================================================

接下来要做的就是解析这组数组中的数据,并把它们动态的添加到html标签中去

直接上代码

//首先是先拿到select标签的ID

var $selected = $("#select");

$selected.empty();//清空内容

var obj = '';//创建一个全局变量,用来存储接下来循环里的内容

$("#select").append('<option value="86">中国</option>');//给select标签内添加默认内容

for(var i = 0; i < options.length; i++){//通过for循环来解析数组

//将option作为拼接字符串添加到变量obj中

obj += "<option class='option' value='"+ options[i].code +"'>"+ options[i].zh + "</option>";

}

//将循环内的字符串追加到select标签中

$("#select").append(obj);

//接下来就是今天的重点了,这个不算是什么难点,但是,我个人这次确实是第一次用到,主要是select标签内的option不能添加点击事件,导致在这个小问题上浪费了很多时间

给大家看下change()这个方法的用法

定义和用法

当元素的值改变时发生 change 事件(仅适用于表单字段)。

change() 方法触发 change 事件,或规定当发生 change 事件时运行的函数。

注意:当用于 select 元素时,change 事件会在选择某个选项时发生。当用于 text field 或 text area 时,change 事件会在元素失去焦点时发生。

语法

触发被选元素的 change 事件:

$(selector).change()

添加函数到 change 事件:

$(selector).change(function)

===================================

$("#select").change(function(){

var text = $("#select").val();//将select内的内容保存到变量text中

$("#cuntryCode").html("+"+text);

//$("#cuntryCode")是对应的国家手机号的区号

})

 

 

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
### 回答1: 可以使用JavaScript动态生成select标签option选项。具体步骤如下: 1. 获取select标签的DOM元素,可以使用document.getElementById()或者document.querySelector()方法。 2. 创建option元素,可以使用document.createElement()方法。 3. 设置option元素的value和text属性,可以使用option.value和option.text属性。 4. 将option元素添加select标签中,可以使用select.appendChild()方法。 示例代码如下: HTML代码: ``` <select id="mySelect"></select> ``` JavaScript代码: ``` var mySelect = document.getElementById("mySelect"); var options = ["选项1", "选项2", "选项3"]; for (var i = ; i < options.length; i++) { var option = document.createElement("option"); option.value = i + 1; option.text = options[i]; mySelect.appendChild(option); } ``` 以上代码会动态生成一个包含三个选项的select标签。 ### 回答2: select标签是HTML表单常用的一个标签,用于提供用户一个下拉框选择的选项。在使用select标签时,经常需要动态生成option选项,以满足不同的需求。 动态生成option选项可以通过使用JavaScript来完成,具体步骤如下: 1. 获取到select标签的DOM对象,可以使用document.getElementById()方法或者jQuery库的选择器方法来获取DOM对象。 2. 清空select标签中之前的所有option选项,可以使用selectObject.innerHTML=""来清空。 3. 通过循环生成新的option选项,可以使用for循环或者forEach()方法来遍历数据,根据遍历的每一项数据生成一个新的option选项,并将其添加select标签中。生成新的option选项可以使用createElement()方法来创建,然后使用innerHTML或者textContent属性来设置option选项的值和文本。 示例代码如下: HTML代码: ```html <select id="mySelect"></select> ``` JavaScript代码: ```javascript //获取select标签的DOM对象 var mySelect = document.getElementById("mySelect"); //清空select标签中之前的所有option选项 mySelect.innerHTML = ""; //模拟数据 var data = [ { value: "1", text: "选项1" }, { value: "2", text: "选项2" }, { value: "3", text: "选项3" }, { value: "4", text: "选项4" }, { value: "5", text: "选项5" } ]; //循环生成新的option选项 data.forEach(function(item) { var option = document.createElement("option"); option.value = item.value; option.textContent = item.text; mySelect.appendChild(option); }); ``` 以上代码将动态生成一个包含5个选项的下拉框,每个选项的value和text值分别为1到5和“选项1”到“选项5”。其他数据也可以按照同样的格式进行动态生成。 ### 回答3: 在HTML中,<select>标签用于创建下拉列表。其包含许多<option>标签,用于指定下拉列表中的选项。在某些情况下,我们需要在代码中生成这些选项。为此,我们可以使用JavaScript编写一些代码。 首先,我们需要获取<select>元素。我们可以使用getElementById()方法,这需要给<select>元素指定一个id属性。例如,我们可以将<select>元素定义为: ``` <select id="mySelect"></select> ``` 然后,我们可以使用以下JavaScript代码获取<select>元素: ``` var selectElement = document.getElementById("mySelect"); ``` 接下来,我们需要动态生成<option>元素。我们可以创建一个数组,存储我们需要添加到下拉列表中的选项。例如,我们可以定义: ``` var options = ["选项1", "选项2", "选项3"]; ``` 然后,我们可以使用for循环迭代数组,为每个选项创建一个新的<option>元素,并将其添加到<select>元素中。例如,我们可以编写以下代码: ``` for (var i = 0; i < options.length; i++) { var optionElement = document.createElement("option"); optionElement.text = options[i]; selectElement.add(optionElement); } ``` 这将创建一个新的<option>元素,并设置其文本为数组中的当前选项。然后,我们将该元素添加到<select>元素中,以使其出现在下拉列表中。 반복문을 모두 실행하고 나면, 최종적으로 다음과 같은 HTML 코드가 생성됩니다. ``` <select id="mySelect"> <option>选项1</option> <option>选项2</option> <option>选项3</option> </select> ``` 这是通过动态生成<option>元素实现的,这为我们提供了一种灵活的方式来动态修改下拉列表选项。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值