我的问题是: 我有两个输入框,一个用于代码,一个用于价格:
<input class="style" name="code" id="code" type="text">
<input class="style" name="price" id= "price" type="text" value="€ 15,00" readonly="readonly">
现在我想通过代码更改价格(比如从代码数组[code1] [code2]检查。结果到code1 = price / 2和code2 = price / 4)这我想通过脚本检查实时或发帖(提交时)。这可能是什么时候如何?或者还有另一种更好的方法吗?
我有:
while(true)
{
var code = document.getElementById("code").value;
var codes = new Array("promo1", "promo2");
for (var i=0; i<codes.length; i++) {
if (codes[i] == code) {
document.getElementById("price").value = "5";
}
}
}
我的输入字段显然位于表单字段中 但价值没有变化,但为什么呢? 我不必实时更改,如果帖子发送新值...任何解决方案/更好的想法/提示将是好的吗? 我知道JQuery有一个更好的方法,但它不应该是js的问题。
小提琴链接:
jsfiddle.net/vicR/4Mtbr
答案 0 :(得分:2)
这可以通过多种方式轻松获得,特别是如果使用库或框架,但使用纯javascript时应该这样做:
while(true) {
var code = document.getElementById("code").value
//now check for valid code in some sort of map or array
//REMEMBER javascript supports string indexed arrays such as arr["#45"]
if(code == validatorFunctionOrCode) { //obviously pseudo
document.getElementById("price").value = "your corresponding price to the code"
}
}
有了这个说我会强烈推荐Angular.js,因为它支持数据绑定(例如 - databinding)
答案 1 :(得分:1)
完成了一些jQuery代码:
$('#form').submit(function() {
$('#price').val(value_you_want_to_change);
});