1

捷径,试试这个小提琴:http: //jsfiddle.net/purushagovinda/VJfkx/


我有一个我想要正确的 jquery 代码块,以便它设置隐藏输入元素的值从更改value="keywords"为到另一个文件 - 一个取决于隐藏输入值的文件。value="furniture"refresh_itemListerWithSearchResultsReturn();

我的代码现在成功设置了隐藏输入的值,然后触发函数,但是,在触发时,函数仍然认为隐藏输入值 =“关键字”。这让我觉得我想这样做:

$("#myHiddenInput").val('furniture');

...但是该行 ^^^ 有一个回调函数,我将refresh_itemListerWithSearchResultsReturn()函数调用粘贴在 .val() 回调中。所以,作为一个相对的菜鸟,我在这里查找:

http://api.jquery.com/val/

...但看不到如何使用.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(){to 移到$('#bit_products_productType').val('furniture');...

...但在任何情况下alert("'#bit_products_productType' is changed now 2");都不会触发。

这应该可以帮助你们集中注意力,并能够帮助我:http: //jsfiddle.net/purushagovinda/VJfkx/

4

4 回答 4

2

你可以这样做

$("#myHiddenInput").val("product").change(function(){
  alert("value is changed now");
});

check : .change() - 将事件处理程序绑定到“更改”JavaScript 事件,或在元素上触发该事件。

于 2013-03-22T06:15:16.713 回答
1

javascript 在单个线程上运行。如果您reload function在下一条语句上触发,您可以确定该值已经更新(不需要回调函数)。

于 2013-03-24T05:52:31.090 回答
0

试试这个代码...

 $('#hiddenfieldid').live('change', function() {  
        function1(); 
    });
于 2013-03-22T06:16:39.660 回答
0

Yu 可以使用.change事件来满足您的要求。

$("#myHiddenInput").change(function() {
    alert($(this).val());
});
于 2013-03-22T06:22:17.163 回答