每个人......我想在文本字段中输入“0203-ED”之后...该文本后面的两个字符可以控制单选按钮..该文本中的“ED”字符可以制作一个值为“ED”的单选按钮“被检查......
这是我的代码:
<script type="text/javascript">
var model=$("#tags1").val();
var version[0,0]="JD";
var version[0,1]="87.5-107.9";
var version[1,0]="ED";
var version[1,1]="87.5-108.0";
var version[2,0]="EED";
var version[2,1]="65.0-74.0";
// each version
for (var i = 0; i < version.length; i ++) {
if (model.lastIndexOf(version[i,0])!=-1) {
$("#value").replaceWith("<div id='value'>"+version[i,1]+"</div>");
} else {
$("#value").replaceWith("<div id='value'></div>")
}
// end each
}
</script>
我的代码出了什么问题?
答案 0 :(得分:1)
我看到一些事情正在发生。
首先,为什么你有default:
?这是switch
语句中使用的关键字;它在if
语句中无效。完全删除它。
您还有model,lastIndexOf
而不是model.lastIndexOf
答案 1 :(得分:1)
您不必使用.replaceWith()...
for (var i = 0; i < version.length; i ++) {
if (model.lastIndexOf(version[i,0])!=-1) {
$("#value").html(version[i,1]);
} else {
//default
$("#value").html("");
}
// end each
}
答案 2 :(得分:0)
注意您的语言输入。它应该是text/javascript
。现在你有text/jaavascript
。这取决于浏览器和您的doctype,这可能会阻止您的脚本甚至执行(它不会无声地失败,甚至不会失败)。
除了已经给出的答案之外,尝试仅声明一次数组。有几种方法可以创建您追求的数据结构。使用您觉得最舒适的款式。
var version = [['JD',"87.5-107.9"],["ED","87.5-108.0"],["EED","65.0-74.0"]];
var version = [];
version[0] = ["JD","87.5-107.9"]
version[1] = ["ED","87.5-108.0"];
version[2] = ["EED","65.0-74.0"];
var version = [];
version[0] = [];
version[0,0]="JD";
version[0,1]="87.5-107.9";
version[1] = [];
version[1,0]="ED";
version[1,1]="87.5-108.0";
version[2] = [];
version[2,0]="EED";
version[2,1]="65.0-74.0";
关于第三个版本,我实际上不确定您的数组符号(版本[0,1])是否受到普遍支持。我认为我已经看过没有人在十多年内使用这种符号。通常,您使用符号myArray[x][y]
访问多维数组的成员。但也许这只是一种风格差异。我不确定。
[编辑]你想做这样的事吗?这不是非常有效,但它可能是你的起点。在这种情况下,jQuery绝对是你的朋友。
<input type="radio" name="version" value="87.5-107.9" /><label class="version">JD</label><br />
<input type="radio" name="version" value="87.5-108.0" /><label class="version">ED</label><br />
<input type="radio" name="version" value="65.0-74.0" /><label class="version">EED</label><br />
<input type="text" name="version_text" value="Enter your value" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">//<![[
var jVersionTextInput = $('input[name=version_text]');
var jLabels = $('label.version');
var jRadioButtons = $('input[name=version]');
var intVersionCount = jLabels.size();
var updateRadioButtons = function() {
var rxLabelValue;
var isValueFound = false;
rxLabelValue = new RegExp( $(jVersionTextInput).val() );
for (var i = 0; i < intVersionCount; i++) {
if (!isValueFound && rxLabelValue.test($(jLabels[i]).html())) {
jRadioButtons[i].checked = true;
isValueFound = true;
}
else {
jRadioButtons[i].checked = false;
}
}
}
jVersionTextInput.keyup(updateRadioButtons);
//]]></script>