我有一个名为sub_category的空输入,当用户点击href链接时会填充该输入。我需要检查sub_category输入中是否存在值,以及是否提交了表单。我的代码是:
sbt start
和我的jQuery
<div class="multi-dropdown-list-1">
<ul class="multi-dropdown-list">
<li>
<a href="#" class="ico-media" data-category="Accommodation" data-tag="none">
Accommodation
<i class="socialbakers-icons-before" data-icons-before=""></i>
</a>
</li>
</ul>
</div>
<form accept-charset="UTF-8" action="{{ route('data_checker') }}" id="industry_form" name="industry_form" method="post" type="hidden">
<input type="hidden" name="_token" value="{{ csrf_token() }}" />
<input id="sub_category" type="text" name="sub_category" />
<input id="tags" type="text" name="tags" />
</form>
sub_category中的值正在填写正确。但是表格没有提交。
答案 0 :(得分:0)
此外,bind()
中不推荐使用jQuery
(使用on()
)。如果值使用javascript更改,则input
事件不会被触发。它只会在用户输入时触发。
因此,您应该在设置我想要的值之后在您要调用的函数调用中包装“check if exists”:
警告:未经测试的代码......
$('.multi-dropdown-list-1 a').click(function () {
var value = $(this).data('category');
var value2 = $(this).data('tag');
var input = $('#sub_category');
var input2 = $('#tags');
var oldValue = input.val();
input.val(value);
input2.val(value2);
if(val !== oldValue) {
onValueChanged();
}
});
function onValueChanged() {
$("#industry_form").submit();
}
答案 1 :(得分:0)
在clcik事件结束时添加input.trigger("input");
。
输入事件仅在直接用户交互后才会触发,即;当用户在输入中输入内容然后输入失去焦点时。当你使用val()时,也可以手动触发事件,它应该可以工作
以下是工作代码:http://codepen.io/anon/pen/QNpxwz
完整的javascript应该是:
// function when click input fill value
$('.multi-dropdown-list-1 a').click(function() {
var value = $(this).data('category');
var value2 = $(this).data('tag');
var input = $('#sub_category');
var input2 = $('#tags');
input.val(value);
input2.val(value2);
input.trigger("change");
});
// check for value and if it exists submit form
$('#sub_category').on('change', function() {
if ($(this).val() != "")
$("#industry_form").submit();
});
答案 2 :(得分:0)
解决方案是在将值输入到输入
之后将触发器置于主函数内部触发from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np
plt.close('all')
fig = plt.figure()
ax = fig.gca(projection='3d')
X = np.linspace(-5, 5, 43)
Y = np.linspace(-5, 5, 28)
X, Y = np.meshgrid(X, Y)
varone=np.random.rand(75,28,43) * 5.0 - 10.0
Z=varone[0,:,:]
cset = [[],[],[]]
# this is the example that worked for you:
cset[0] = ax.contourf(X, Y, Z, zdir='z', offset=5,
levels=np.linspace(np.min(Z),np.max(Z),30),cmap='jet')
# now, for the x-constant face, assign the contour to the x-plot-variable:
cset[1] = ax.contourf(Z, Y, X, zdir='x', offset=5,
levels=np.linspace(np.min(Z),np.max(Z),30),cmap='jet')
# likewise, for the y-constant face, assign the contour to the y-plot-variable:
cset[2] = ax.contourf(X, Z, Y, zdir='y', offset=-5,
levels=np.linspace(np.min(Z),np.max(Z),30),cmap='jet')
# setting 3D-axis-limits:
ax.set_xlim3d(-5,5)
ax.set_ylim3d(-5,5)
ax.set_zlim3d(-5,5)
plt.show()