我有一个表单可以计算几个输入值的总和(复选框和下拉列表 - 不是用户输入的值)。在表格底部我有一个“折扣代码”框,我希望能够输入一个代码,它需要一定数量的总额。
使用我的代码我试图说,如果输入的文字=折扣代码,请将输入的值更改为50.这是我到目前为止的内容
var discountCode = 'DISTR50';
var codeEntered = $("input[name='discount']");
if (discountCode = codeEntered) {
$('#discount input').attr('value',50);
}
和html:
<input type="text" id="discount" name="discount" class="txt"/>
答案 0 :(得分:4)
if (discountCode == codeEntered) {
$('input#discount').attr('value',50);
}
不要使用=使用==或更好===
除了使用attr之外,你可以简单地使用val,如下所示,并使用input#discount
作为正确的选择器,并使用val()来获取值
var discountCode = 'DISTR50';
var codeEntered = $("input[name='discount']").val();
if (discountCode == codeEntered) {
$('input#discount').val('50');
}
答案 1 :(得分:1)
=是赋值,==或===是检查某个东西是否等于另一个。
你想从$(“input [name ='discount']”)获取什么?因为这会给你一个jquery对象,试试$(“input [name ='dicount']”)。val();获取值,即:
if('DISTR50' == $("input[name='discount']").val()){
$("#discount input").attr("value", 50);
}
答案 2 :(得分:1)
只是一些小问题......
var discountCode = 'DISTR50';
var codeEntered = $("#discount").val();
if (discountCode == codeEntered) {
$('#discount').val(50);
}
注意我添加了.val()
来获取和设置输入值,并将if语句更改为使用==
而不是=
。
我还使用了input元素的ID,因为这比按名称查找输入要快。
答案 3 :(得分:0)
试试这个
var discountCode = 'DISTR50';
var codeEntered = $("input[name='discount']");
if (discountCode === codeEntered) {
$('#discount').val('50');
}
答案 4 :(得分:0)
您无法将对象与值进行比较
你需要这样做:
var discountCode = 'DISTR50';
var codeEntered = $("input[name='discount']").val(); <-- .val()
您正在编写的代码返回codeEntered
变量中的对象,您应该使用.val()
来获取该对象的值。
比较使用==
或===
(严格比较)