【发布时间】:2019-09-29 09:53:28
【问题描述】:
.html
var url = "http: //127.0.0.1:8000/search/?name=san&language=1&cast=1&language=2&cast=3";
existingUrl(var);
function existingUrl(fullUrl) {
$('.language').each(function() {
var hasValue = fullUrl.indexOf($(this).val());
if (hasValue != -1)
this.checked = true;
});
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form method="get">
<input type="text" name="name" id="name" hidden> language
<input type="checkbox" name="language" class="language" id="1" value="1"> cast
<input type="checkbox" name="cast" class="cast" id="2" value="1"> language
<input type="checkbox" name="language" class="language" id="3" value="2"> cast
<input type="checkbox" name="cast" class="cast" id="4" value="3">
<input type="submit" value="submit">
</form>
如果所有复选框输入值都具有不同的值,则它工作正常。如果我们尝试使用具有相同值的不同名称,它会检查具有该值的所有复选框。
【问题讨论】:
-
请解释当前行为与您尝试实现的行为有何不同。
-
如果我们在 url 中有
//127.0.0.1:8000/search/?name=san&language=1,它会检查所有值为 1 的复选框(cast 和值为 1 的语言复选框),而不仅仅是值为 1 的语言复选框。
标签: javascript html checkbox