我正在尝试创建一个有点复杂的排序功能,既不使用div也不使用列表.不幸的是,两个小时的谷歌搜索没有帮助我.
这是我的HTML的基本设置:
<div id="all_elements">
<!-- one element -->
<div class="element">
<div class="wrapper">
<a href="/" title="links">
<img src="/img/image.jpg" border="0" alt="image" class="image" /></a>
<div class="details">
<h3><a href="/" title="title">Name (Sort Argument 1)</a></h3>
<div class="title"><a href="/" title="title">Title (Sort Argument 2)</a></div>
<div class="year">2010 (Sort Argumentt 3)</div>
<div class="country">Great Britain (Sort Argument 4)</div>
</div><!-- details -->
</div><!-- wrapper -->
</div><!-- element -->
</div> <!--all_elements-->
Run Code Online (Sandbox Code Playgroud)
设置有点复杂,但基本上.element是需要根据h3,div.title,div.year或div.country的内容按字母顺序排序的元素.因此,用户将能够按名称,按年份,按国家/地区或按标题查看网站内容.
我有一个来自网站的jQuery片段,但我尝试告诉它使用例如h3的内容进行排序的所有尝试都失败了.现在它几乎随机排序.
jQuery.fn.sort = function() {
return this.pushStack([].sort.apply(this, arguments), []);
};
function sortAscending(a, b) {
return a.innerHTML > b.innerHTML ? 1 : …Run Code Online (Sandbox Code Playgroud) 我刚刚用jQuery创建了我的第一个ajax函数,实际上可以工作,但遗憾的是字符编码(对于像ä,ö,ü,ß,č,ć,å,ø这样的字符)是一场噩梦.
我的文件和我的数据库都是UTF-8.我在ajax函数和PHP函数中尝试了很多选项,但都没有令人满意.
这是我的ajax
var dataString = {
'name': name,
'mail': mail
// other stuff
}
$.ajax({
type: "POST",
url: "/post.php",
data: dataString,
contentType: "application/x-www-form-urlencoded;charset=UTF-8",
cache: false,
success: function(html){
// do stuff
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试过没有contentType:"application/x-www-form-urlencoded; charset = UTF-8",我试图将受影响的数据包装在encodeURIComponent()中,但没有一个工作.
当我在我的php中使用带有htmlentities()的AJAX时,我的变音符号在纯文本中看起来像这样:UE×,AE×,OE×,ueü,aeÃ,o o
在数据库中像这样:UEÃ,AEÃ",OEÃ,ueü,aeÃ,o o o
如果我不使用htmlentities()而不使用mysql_real_escape_string()(或者两者都不使用),它们在纯文本中看起来很好,但它们在数据库中看起来像这样:AEÃ",OEÃ-,UEœ,aeäoe Ãuee
我现在已经尝试了几个小时的选择,但我找不到有效的解决方案.到目前为止,我似乎唯一的选择是让它们看起来像数据库中的混乱,但如果需要编辑这些数据集,那将是非常不利的.
我有一个多语言页面,我想用用户的语言显示表单验证错误.我使用隐藏输入来确定用户正在浏览的语言版本如下:<input type="hidden" name="lang" id="lang" value="<?php echo $lang; ?>" />
脚本的PHP端可以工作,但是jQuery似乎没有意识到传递了哪种语言.无论我在哪个语言网站,它都会显示英文错误消息.
这是代码(我删除了其他表单字段的长度):
$(document).ready(function(){
$('#contact').submit(function() {
$(".form_message").hide();
var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
var lang = $("#lang").val();
var name = $("#name").val();
var dataString = {
'lang': lang,
'name': name
}
if (name == '') {
if (lang == 'de') {
$("#posted").after('<div class="form_message"><p><span class="error">Fehler:</span> Bitte gib deinen Namen an!</p></div>');
} else {
$("#posted").after('<div class="form_message"><p><span class="error">Error:</span> Please enter your name!</p></div>');
}
$("#name").focus();
$("#name").addClass('req');
} else {
$("#loading").show();
$("#loading").fadeIn(400).html('<img src="/img/loading.gif" />Loading...');
$.ajax({
type: "POST",
url: "/contact-post.php", …Run Code Online (Sandbox Code Playgroud)