我将在jquery中使用change函数获取select值。我使用了一个全局变量来获取值,但是console.log不能在我的函数之外工作:
<DataGrid Name="DataGrid" AutoGenerateColumns="False"
Height="Auto" Width="780" Margin="10,10,10,10"
IsReadOnly="True" ItemsSource="{Binding Path=PreloadedRailcarstList}"
SelectedItem="{Binding Path=BaseProductToUpdate}"
AlternationCount="2" AlternatingRowBackground="LightBlue">
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Style.Triggers>
<DataTrigger Binding="{Binding IsOverFilled}" Value="True">
<Setter Property="Background" Value="Orange" />
</DataTrigger>
<DataTrigger Binding="{Binding IsOverWeighed}" Value="True">
<Setter Property="Background" Value="Orange" />
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseDoubleClick">
<i:InvokeCommandAction Command="{Binding Path=DataContext.OpenUpdateBaseProductViewCmd , RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" CommandParameter="{Binding BaseProductToUpdate.name}"/>
</i:EventTrigger>
<i:EventTrigger EventName="PreviewKeyDown">
<i:InvokeCommandAction Command="{Binding Path=DataContext.OpenUpdateBaseProductViewCmd , RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" CommandParameter="{Binding BaseProductToUpdate.name}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
...
</DataGrid>
控制台日志只适用于此代码:
jQuery(function($) {
var formule;
$('#group_14').on('change', function() {
formule = this.value;
});
console.log(formule);
});
我希望在其他函数中恢复我的jQuery(function($){
var formule;
$('#group_14').on('change', function() {
formule = this.value;
console.log(formule);
});
});
变量以使用它,如何在我的所有脚本中返回我的变量?
答案 0 :(得分:2)
想一想在页面加载时会发生什么事情:
在下面的代码段中,console.log
<{1}}事件 ,因此会在页面加载时输出到控制台,即之前已解雇,change
在此时未被初始化为
formule
以下代码段将在jQuery(function($){
var formule;
$('#group_14').on('change', function() {
formule = this.value;
});
//outside of the change event, formule is null or undefined
//until the event is fired and formule is intialised
console.log(formule);
});
事件初始化 formule
之后输出formule
的值
change