我试图从父div类中提取价格。初始页面加载时工作正常。但是我的页面中有一个下拉列表。当我更改项目时,将更改父div价格。但提取的价格没有变化。因为页面没有刷新。
def csv_to_OrderedDic1(path, dic_key='uniqueID'):
'''
Parameters:
dic_key: the name of the column to be used as the dictionary key
'''
df = pd.DataFrame.from_csv(path, sep='\t', header=0)
# Get an unordered dictionary
unordered_dict = df.set_index(dic_key).T.to_dict('list')
# Then order it
ordered_dict = OrderedDict((k,unordered_dict.get(k)) for k in df.dic_key)
return ordered_dict
如何找到价格变动?
我尝试了var a = $('.price').text();
var t_section += '<p>Sign up to earn '+ rewardPts + ' points for this purchase</p>';
$('#msg').append(t_section );
个事件。但是,这不起作用。
答案 0 :(得分:0)
将change()
函数直接绑定到下拉元素?这是AFAIK最准确的答案。
$('#yourDropdown').change(function () {
var selection = this.value;
// do something with the value
});
这是一个更广泛的答案:
通常,对于大多数东西,您可以绑定到DOMSubtreeModified
- 这是一致的,并在某些DOM节点的子树中发生更改时触发。如果将其绑定到select元素。当选择一个选项时,它应该触发。
$('#yourDropdown').bind('DOMSubtreeModified', function(e) {
var selection = this.value;
// handle the detected change
})
问题是没有确切的HTML代码,我可以看到精确的类和下拉结构(可能是非标准的东西?)编写句柄部分很难。此外,当检测到更改时,存储的值在哪里?小提琴会很好,所以我可以编辑你缺少的部分;)
答案 1 :(得分:0)
查看我的代码,它可能对您有帮助。
$('#priceSelect').change(function() {
var rewardPts = $(this).find(":selected").val();
var t_section = '<p>Sign up to earn '+ rewardPts + ' points for this purchase</p>';
$('#msg').append(t_section);
});
&#13;
<select name="price" id="priceSelect">
<option value="10">10</option>
<option value="100">100</option>
<option value="200">200</option>
<option value="500">500</option>
</select>
<div id="msg"></div>
<script src="https://code.jquery.com/jquery-3.1.0.js"></script>
&#13;
答案 2 :(得分:0)
为您的问题尝试以下代码
HTML CODE
calcuateRewardPoint(); // Function Call initial pageLoading
$('body').on("change","select",function() {
calcuateRewardPoint();
});
// Calculate RewardPoint
function calcuateRewardPoint(){
var rewardPts = $("#priceSelect").find(":selected").val();
var t_section = '<p>Sign up to earn '+ rewardPts + ' points for this purchase</p>';
$('#msg').append(t_section);
}
[To see in jsFiddle][1]
JS CODE HERE
==> Satisfying dependencies
==> Downloading https://haskell.org/platform/download/8.2.1/Haskell%20Platform%2
######################################################################## 100.0%
==> Verifying checksum for Cask haskell-platform
==> Note: running "brew update" may fix sha256 checksum errors
Error: Checksum for Cask 'haskell-platform' does not match.
Expected: b0182bb721b5dff3d66794cbdcea93cec562dc254fcf23c0e7a1a7a8d680aaa7
Actual: 05fc22d2cefdf67f1da2f62a90fda73a746accd08b44ec197046972b82afee06
File: /Users/william/Library/Caches/Homebrew/Cask/haskell-platform--8.2.1.pkg
答案 3 :(得分:0)
$("#priceSelect").change(function(){
var t_section = ('<p>Sign up to earn '+ $(this).val()+ ' points for this purchase</p>');
$("#msg").html(t_section)
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<select name="price" id="priceSelect">
<option value="10">10</option>
<option value="100">100</option>
<option value="200">200</option>
<option value="500">500</option>
</select>
<div id="msg"></div>
&#13;