Javascript 正确使用select和js吗?
我试图使用select为用户提供两种选择。1个选项为所有者,另一个选项为非所有者。我希望能够问他们不同的问题,如果他们是业主与否。我希望他们能够输入数字为1-10的答案,并根据答案给予反馈。如果可以的话,我会尽量说得非常清楚。一个问题有两个选择。选择该选项后,将询问所有者或非所有者问题,并添加“我有一把小提琴”和“我有什么”。我到处都是,不知道,别介意我。如果有人能给我看那部作品那就太棒了!!!改变其中的任何东西,只是想让它发挥作用Javascript 正确使用select和js吗?,javascript,jquery,html,Javascript,Jquery,Html,我试图使用select为用户提供两种选择。1个选项为所有者,另一个选项为非所有者。我希望能够问他们不同的问题,如果他们是业主与否。我希望他们能够输入数字为1-10的答案,并根据答案给予反馈。如果可以的话,我会尽量说得非常清楚。一个问题有两个选择。选择该选项后,将询问所有者或非所有者问题,并添加“我有一把小提琴”和“我有什么”。我到处都是,不知道,别介意我。如果有人能给我看那部作品那就太棒了!!!改变其中的任何东西,只是想让它发挥作用 选择一个选项 物主 非所有者 您的选择器在“非所有者”的点击
选择一个选项
物主
非所有者
您的选择器在“非所有者”的点击处理程序中出错。btw ID在上下文页面上必须是唯一的。最好的方法是使用类而不是ID,并选中可见框:
$('.myOptions').change(function(){
$('.list').removeClass('active')
.filter('.' + $('.myOptions').children('option:selected').attr('data-val'))
.addClass('active');
});
/* want to say if owner do this
when I un-comment this it breaks
var qbc = $('#owner')
var c = $('#myOptions')
if $(c == qbc){
prompt("worked!!!!")
}
*/
$('#butt').click(function () {
var $boxOne = $('.box:visible').eq(0);
var k1 = parseInt($boxOne.val(), 10);
var $boxTwo = $('.box:visible').eq(1);
var k2 = parseInt($boxTwo.val(), 10);
var $boxThree = $('.box:visible').eq(2);
var k3 = parseInt($boxThree.val(), 10);
var total = k1 + k2 + k3;
var msg = '';
if (isNaN(total)) {
msg = 'Input three numbers, please...';
} else if (total < 30) {
msg = "That's bad, should be higher...";
} else if (total > 40) {
msg = "That's bad, should be lower...";
} else {
msg = "You got it... Nice work.";
}
$('#output').text(msg);
});
/* else i will change question number and do same thing */
$('.myOptions').change(函数(){
$('.list').removeClass('active'))
.filter('.+$('.myOptions').children('option:selected').attr('data-val'))
.addClass(“活动”);
});
/*想说如果主人这样做
当我对此发表评论时,它就破裂了
var qbc=$(“#所有者”)
变量c=$(“#myOptions”)
如果$(c==qbc){
提示(“工作!!!!”)
}
*/
$('#butt')。单击(函数(){
var$boxOne=$('.box:visible').eq(0);
var k1=parseInt($boxOne.val(),10);
var$boxTwo=$('.box:visible')。等式(1);
var k2=parseInt($boxTwo.val(),10);
变量$boxThree=$('.box:visible')。等式(2);
var k3=parseInt($boxThree.val(),10);
var total=k1+k2+k3;
var msg='';
若有(isNaN(总计)){
msg='请输入三个数字…';
}否则,如果(总数<30){
msg=“这太糟糕了,应该更高……”;
}否则,如果(总数>40){
msg=“这太糟糕了,应该更低……”;
}否则{
msg=“你明白了……干得好。”;
}
$(“#输出”).text(msg);
});
/*否则我会改变问题编号,做同样的事情*/
我建议,要处理求和,将jQuery更改为:
$('#butt').click(function () {
/* this gets an array of the numbers contained within visible
input elements */
var nums = $('.list input:visible').map(function () {
return parseInt(this.value, 10);
}),
// initialises the total variable:
total = 0;
/* iterates over the numbers contained within the array,
adding them to the 'total' */
for (var i = 0, len = nums.length; i < len; i++) {
total += nums[i];
}
var msg = '';
if (isNaN(total)) {
msg = 'Input three numbers, please...';
} else if (total < 30) {
msg = "That's bad, should be higher...";
} else if (total > 40) {
msg = "That's bad, should be lower...";
} else {
msg = "You got it... Nice work.";
}
$('#output').text(msg);
});
要测试某人是否是或说他们是所有者,请执行以下操作:
var total = 0,
isOwner = $.trim($('.myOptions option:selected').val()) === 'owner';
if (isOwner) {
console.log("It's the owner");
}
上述jQuery与select
元素耦合,其中选项
元素具有以下值:
<select class="myOptions">
<option value="-1" data-val="" selected>Pick an option</option>
<option value="owner" data-val="owner">Owner</option>
<option value="not-owner" data-val="not-owner">Not Owner</option>
</select>
选择一个选项
物主
非所有者
参考资料:
选择
选项时,列表会更改以显示不同的复选框。你有什么问题?很抱歉,一整天都没有进展。如果我选择owner并放置,1,1,1它将执行我想要的操作…但是如果我使用non-owner,则不执行相同的操作。我试图使用if语句来说明如果owner添加插补/问题1,2和3,否则如果添加4,5和6。给他们回插补,就像我现在设置的一样。我怎么做对我来说无关紧要。。我会用任何人说的最好的方式来做。戴夫问我是否想在这里添加另一个if语句。。。示例所有者用a 9,b 2,c 9回答,我想说21是可以的,但b 2非常糟糕。如果使用js,我会这样做(total>21&a,b,cit看起来像是使用了$('.list-input:visible')。each(function(){total+=parseInt(this.value,10);将所有答案加在一起。非常感谢。或者任何能提供帮助的人,dave,你的答案对我来说最有效……但问题是,我希望能够访问每个答案的输入……你的答案只会给我总数……我想要var$boxOne=$('#box1');var k1=parseInt($boxOne.val(),10);对于所有者来说,如果问题2,他们1-10,他们说2,我希望能够说非常好,非常坏。现在它设置了所有添加的位置,我认为我无法单独访问它们。
var total = 0,
isOwner = $.trim($('.myOptions option:selected').val()) === 'owner';
if (isOwner) {
console.log("It's the owner");
}
<select class="myOptions">
<option value="-1" data-val="" selected>Pick an option</option>
<option value="owner" data-val="owner">Owner</option>
<option value="not-owner" data-val="not-owner">Not Owner</option>
</select>