我有像这样的HTML代码
<div id="city-parrent">
<input id="london" type="checkbox" value="London" name="c_city_2">
<input id="london_r" type="checkbox" value="London" name="c_city_r_2">
</div>
当我想用
选择第一个复选框时var object_found = $("#city-parrent").find("#london");
alert(object_found.val());
它提供了一个未定义的警报
当我选择具有相同代码的第二个时,它不会给出未定义的警报
var object_found = $("#city-parrent").find("#london_r");
alert(object_found.val());
通常这段代码很好,但我在for循环中有这个代码,这个问题就出现了。这是for循环 [参见for循环]] 1
答案 0 :(得分:0)
应该可以正常工作。你有什么版本的Jquery?
你的版本应该工作,有时你可能需要用jquery包装它。
$(object_found).val()
。
检查一下,它有效。
答案 1 :(得分:0)
答案 2 :(得分:0)
Loop
通过array
并检查元素是否存在。这可以防止您收到错误。 ID .find()
只需使用普通选择器$('#id')
即可,因为id
只有一个,否则您将获得第一个。
var array_cont = ['london', 'london_r']
array_cont.map(function(ac) {
$elem = $('#' + ac);
if ($elem.length) {
alert($elem.val());
$elem.attr('checked', true);
}
})
var array_cont = ['london', 'london_r']
array_cont.map(function(ac) {
$elem = $('#' + ac);
if ($elem.length) {
alert($elem.val());
$elem.attr('checked', true);
}
})
<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
<div id="city-parrent">
<input id="london" type="checkbox" value="London" name="c_city_2">
<input id="london_r" type="checkbox" value="London2" name="c_city_r_2">
</div>