我正在尝试获取存储在隐藏输入字段中的值。 'onchange'或'onfocusout'事件我正在调用JavaScript函数,但我无法在'id'变量中获得正确的值。
这是我的HTML:
<div class="row-wrapper">
<input type="hidden" name="hiddenID" class="hiddenID" value="1" />
<table class="default-table">
<tr>
<th>Client <em>*</em>
</th>
<th>Project <em>*</em>
</th>
<th>Category <em>*</em>
</th>
<th>Description</th>
<th class="small">Time <em>*</em>
</th>
<th class="small">Overtime</th>
</tr>
<tr>
<td>
<select name="client" class='client' onchange='return update(event, "client");'>
<option>Choose client</option>
<option>Client 1</option>
<option>Client 2</option>
</select>
</td>
<td>
<select name="project" class='project' onchange='return update(event, "project");'>
<option>Choose project</option>
<option>Project 1</option>
<option>Project 2</option>
</select>
</td>
<td>
<select>
<option>Choose category</option>
<option>Front-End Development</option>
<option>Design</option>
</select>
</td>
<td>
<input type="text" class="in-text medium" name="description"/>
</td>
<td class="small">
<input type="text" class="in-text xsmall" name="time" />
</td>
<td class="small">
<input type="text" class="in-text xsmall" name="time" />
</td>
</tr>
</div>
这是我现在的脚本:
<script type="text/javascript">
$('input[name=description]').focusout(function () {
update($(this), 'description');
});
$('input[name=time]').focusout(function () {
update($(this), 'time');
calculate();
});
function update(event, type) {
var id = $(event.target).parent().find('.hiddenID').val();
var this_element = $(event.target).val();
alert('id: ' + id + ' this element val: ' + this_element + ' this element is: ' + type);
$(event.target).parent().find('.id').val();
return false;
}
</script>
在jquery中使用parent()函数的正确方法是什么?我正在阅读文档,因为我知道parent()只找到父div标签。是否有一些其他函数可以使用表并找到与表相同的div标签中的隐藏输入?
答案 0 :(得分:1)
将名称放在引号中:$('input [name =“id”]')
或$('[name =“id”]')。val();
答案 1 :(得分:1)
问题在于你的update()函数:
新守则:
function update(event, type) {
var id = $(event.target).closest('.row-wrapper').find('.hiddenID').val();
var this_element = $(event.target).val();
alert('id: ' + id + ' this element val: ' + this_element + ' this element is: ' + type);
$(event.target).parent().find('.id').val();
return false;
}