快捷方式,试试这个小提琴: http://jsfiddle.net/purushagovinda/VJfkx/
我有一个jquery代码块,我想要正确,以便它将设置隐藏输入元素的值(从value="keywords"
更改为value="furniture"
),并 THEN < / strong>调用一个函数(“refresh_itemListerWithSearchResultsReturn();
”),它将主要div的内容从ajax调用重新加载到另一个文件 - 一个取决于隐藏输入值的文件。
我的代码现在成功设置隐藏输入的值,然后触发函数,但是在触发时,函数仍然认为隐藏的输入值=“keywords”。这让我觉得我想这样做:
$("#myHiddenInput").val('furniture');
...但是那行^^^有一个回调函数,我在{/ 1}}函数调用里面的 .val()回调。所以,作为一个相对的菜鸟,我在这里查看:
...但是没有看到如何将refresh_itemListerWithSearchResultsReturn()
与回调函数一起使用。该文档页面上的示例显示带有函数调用的.val();
,但该函数用于确定.val()
将用于值本身的内容,而不是像我需要的那样触发回调。
任何建议我如何进行?
代码实际上是这样的:
val()
我也试过这个:
$("#products_furniture_furnitureType_options > li").each(function() {
$(this).click(function(e) {
[snip]
$("#dp_searchForWhichItemType_listRefresh").val('products');
$('#bit_products_productType').val('furniture');
$("#bit_products_productType").val("furniture").change(function(){
alert("'#bit_products_productType' is changed now 2");
$.refresh_itemListerWithSearchResultsReturn('itemList', false, false);
});
[snip]
});
});
...还尝试将$("#products_furniture_furnitureType_options > li").each(function() {
$(this).click(function(e) {
[snip]
$("#dp_searchForWhichItemType_listRefresh").val('products');
$('#bit_products_productType').val('furniture');
$("#bit_products_productType").change(function(){
alert("'#bit_products_productType' is changed now 2");
$.refresh_itemListerWithSearchResultsReturn('itemList', false, false);
});
[snip]
});
});
移到$("#bit_products_productType").change(function(){
...
...但在每种情况下$('#bit_products_productType').val('furniture');
都不会触发。
这应该帮助你们专注,并能够帮助我: http://jsfiddle.net/purushagovinda/VJfkx/
答案 0 :(得分:2)
你可以这样做
$("#myHiddenInput").val("product").change(function(){
alert("value is changed now");
});
check:.change() - 将事件处理程序绑定到&#34;更改&#34; JavaScript事件,或在元素上触发该事件。
答案 1 :(得分:1)
javascript在单个线程上运行。如果你在下一个语句中触发reload function
,你可以确定该值已经更新(不需要回调函数)。
答案 2 :(得分:0)
试试这段代码......
$('#hiddenfieldid').live('change', function() {
function1();
});
答案 3 :(得分:0)
Yu可以使用.change事件来满足您的要求。
$("#myHiddenInput").change(function() {
alert($(this).val());
});