查看代码:
<div class="box-body">
<div class="form-group">
<label for="inputPassword3" class="col-sm-2 control-label">Version</label>
<div class="col-sm-10">
<input type="text" class="form-control"
name="versions" id="versions" placeholder="Eg. 5.9.158.65"
onchange='validate(this.value)'>
</div>
</div>
</div>
这是我手动输入 IP 地址的输入字段。 在输入此字段的值时,我需要检查多选框中的值(如下所述)是否低于输入的 IP 地址格式。
脚本代码:
<script type='text/javascript'>
var octet = '(?:25[0]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])';
var ip = '(?:' + octet + '\\.){3}' + octet;
var quad = '(?:\\[' + ip + '\\])|(?:' + ip + ')';
var ipRE = new RegExp('(' + quad + ')');
function validate(value) {
if (ipRE.test(value)) {
alert('"' + RegExp.$1 + '"');
} else {
alert('Invalid version format');
}
}
</script>
这里我使用正则表达式验证输入的 IP 地址格式。
相同的 View 代码:
<div class="box-body">
<div class="form-group">
<label for="inputPassword3" class="col-sm-2 control-label">Target Versions(Supported Versions)</label>
<div class="col-sm-10">
<select multiple="multiple" class="form-control" name="serial-lists[]" id="serial-lists" onchange='multiselect()'>
<option value="1.0.0.8">1.0.0.8</option>
<option value="1.0.0.2">1.0.0.2</option>
<option value="1.0.0.3">1.0.0.3</option>
<option value="1.0.0.4">1.0.0.4</option>
<option value="1.0.0.5">1.0.0.5</option>
<option value="1.0.0.6">1.0.0.6</option>
<option value="1.0.0.7">1.0.0.7</option>
</select>
</div>
</div>
</div>
该字段是支持的版本字段,是多选框。
脚本代码:(我尝试比较这两个字段的代码)
<script>
function multiselect() {
var selectedValues = $('#serial-lists').text();
var versions = document.getElementById('versions');
if (selectedValues > versions)
alert("not valid");
else if (selectedValues < versions)
alert("valid");
}
</script>
但是它不起作用。而且我认为这也没有效率。
最佳答案
尝试如下比较函数。
<script>
function multiselect() {
var opts = $('#serial-lists')[0].options;
var selectedValues = $.map(opts, function(elem) {
return (elem.value || elem.text);
});
var versions = $('#versions').val();
for(var i=0; i<selectedValues.length;i++){
if (selectedValues[i] > versions)
alert("not valid");
else if (selectedValues < versions)
alert("valid");
}
}
</script>
关于javascript - 将输入的 ipaddress 值与 laravel 中多选框的值进行比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45005942/