JavaScript-jQuery切换选项
JavaScript - jQuery toggle option
本文关键字:选项 JavaScript-jQuery 更新时间:2023-09-26
我有一个脚本来执行一些基于选项变量的任务。选项的默认值为1。可以通过单击某些链接来切换该值。然后设置一组操作,以便执行这些操作。样本布局如下所示;
HTML
<a id="opt1">1</a><br><a id="opt2">2</a><br><a id="opt3">3</a><br>
<div id="mydiv">option1</div>
JS-
var opt=1;
$('#opt1').click(function() {
opt=1;
});
$('#opt2').click(function() {
opt=2;
});
$('#opt3').click(function() {
opt=3;
});
if(opt == 1){
$('#mydiv').text("option1");
}else if(opt == 2){
$('#mydiv').text("option2");
}else{
$('#mydiv').text("option3");
}
JS被封装在文档就绪函数中。该示例旨在根据选项变量更改文本。很抱歉,这些任务不能嵌套在.click(function()
中,并且完全取决于选项值。我怎样才能做到这一点?
这是小提琴http://jsfiddle.net/Naw3y/
问题是您的if
条件在文档上只调用一次。ready…生成一个函数,添加您的条件,并在点击事件中调用该函数
var opt=1;
$('#opt1').click(function() {
opt=1;
divText(opt); //calling divText(1) is shorter :)
});
$('#opt2').click(function() {
opt=2;
divText(opt)
});
$('#opt3').click(function() {
opt=3;
divText(opt)
});
function divText(opt){
if(opt == 1){
$('#mydiv').text("option1");
}else if(opt == 2){
$('#mydiv').text("option2");
}else{
$('#mydiv').text("option3");
}
}
不知道你为什么不马上打电话。。没有if和函数。。但给你
$('#opt1').click(function() {
$('#mydiv').text("option1");
});
$('#opt2').click(function() {
$('#mydiv').text("option2");
});
$('#opt3').click(function() {
$('#mydiv').text("option3");
});
小提琴在这里
第二个选项的小提琴
这应该可以做到:http://jsfiddle.net/Naw3y/6/:
var opt = 1;
$(function() {
$('#opt1').click(function() {
opt=1;
changeText();
});
$('#opt2').click(function() {
opt=2;
changeText();
});
$('#opt3').click(function() {
opt=3;
changeText();
});
});
function changeText(){
if(opt == 1){
$('#mydiv').text("option1");
}else if(opt == 2){
$('#mydiv').text("option2");
}else{
$('#mydiv').text("option3");
}
}
我认为在您的情况下,您需要的是属性的"封装",而这正是其他答案所缺乏的:
var opt;
//setter function for opt that does the div update
function setOpt(value) {
opt = value;
$('#mydiv').text('option' + value);
}
$(document).ready(function() {
//bind click handlers
$('#opt1').click(function() {
setOpt(1);
});
$('#opt2').click(function() {
setOpt(2);
});
$('#opt3').click(function() {
setOpt(3);
});
//set default value
setOpt(1);
});
$(document).ready(function(){
$('a').click(function(){
$('#mydiv').text('option'+$(this).html());
});
});
对不起,如果我不太理解你的问题。。试着解释得更好。。
相关文章:
- 使用Javascript获取所选选项ID
- javascript选项卡没有'不起作用
- 使用JavaScript在IE9中获取数据列表选项
- html+javascript:如何在某些条件下禁用dropdownlist中的null选项
- 使用纯javascript而非jquery使所选选项卡处于活动状态并保持非活动状态
- 当选择值x时,Javascript需要在正确的位置显示文本区域,从而循环通过具有选择选项的表单
- 一次设置多个选项 javascript (MooTools) 对象
- 如何将选定的值分配给没有值的选项 - javascript
- 动态填充选择选项javascript
- 用递归合并选项javascript对象
- Javascript点计算器不工作(HTML选择/选项+ Javascript)
- 填充下拉选项- javascript
- 为打印选项javascript创建个人快捷方式
- 将文本发送到父元素,并带有删除发送元素的选项- Javascript
- 在刷新页面时设置不同的选项——JAVASCRIPT
- 获取相对于选中的选项的特定选项(JavaScript/jQuery)
- 更改一个选择选项会更改许多其他选项(JavaScript、JQuery)
- 根据之前的答案自动选择下拉选项-Javascript HTML表单
- 默认情况下,选择select列表框中的所有选项--javascript
- 我试图在表单提交到一个新页面后,根据用户选择的多个选项(Javascript.html)重定向表单