当我点击select元素时,我需要记住所选元素的旧值.
此代码适用于FF,CHROME和OPERA,而不是IE.
码:
$(document).ready(function() {
$('#viewTableOrders tr td > select').click(function() {
oldCurrentPath = $(this).val();
oldId = $(this).attr('title');
oldCurrentDate = $('#viewTableOrders tr#vagon' + oldId + '> td >input.input_ver1').val();
dataAjax = {};
});
/* event on change path */
$('#viewTableOrders tr td > select').change(function() {
//do something... + old value
});
});
Run Code Online (Sandbox Code Playgroud)
Dr.*_*lle 11
看起来问题是第二次点击(选择新选项)将在更改事件之前触发.
尝试使用焦点而不是单击:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<select>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>Old value is:<span></span>
<script>
$(document).ready(
function()
{
$('select').focus(function()
{
//store old value
$(this).data('oldValue',$(this).val());}
);
$('select').change(function()
{
//do something
$('span').text($(this).data('oldValue'));
//trigger focus to set new oldValue
$(this).trigger('focus');
});
}
);
</script>
Run Code Online (Sandbox Code Playgroud)
(示例还使用了prodigitalson建议的数据)
我会使用data基础设施:
$('#viewTableOrders tr td > select').click(function() {
var old = {};
old.currentPath = $(this).val();
old.id = $(this).attr('title');
old.currentDate = $('#viewTableOrders tr#vagon' + old.id + '> td >input.input_ver1').val();
old.ajaxData = {};
$(this).data('oldData', old);
}).change(function() {
var oldData = $(this).data('oldData');
if(typeof old == 'object'){
// do stuff with oldData
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12730 次 |
| 最近记录: |