- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
希望您能帮助解决我代码中的这个 JavaScript 难题。我还在学习 javascript 和 jquery。我承认我有点生疏了,并试图再次回到编码中。我创建了一个搜索框自动完成功能。我在主 html 中创建了 javascript,并创建了一个名为 autocomplete.php 的附加 php 页面。我的自动完成功能正在工作,但现在我想要的是...当用户单击下面的自动完成选项之一时,它会弹出一个值,然后将一个 id 放入搜索框中,以便我们的系统更容易搜索,但是我还想添加一个永久占位符或描述他们点击内容的文本以及 id,但搜索无法读取该文本。我只是想读取id。以防万一,这就是我想到永久占位符的原因。
在 PHP 页面上,我创建了代码的 onclick 部分:
<ul id="country-list" >
<?php
while($row=pg_fetch_assoc($result)){
?> <li onClick="selectCountry('<?php echo $row["id"]; ?>'); selectPlaceholder('<?php echo $row["country"].", ".$row["state"]; ?>');"> <?php echo "<strong>(".$row["id"].")</strong> ".$row["country"].", ".$row["state"]; ?> </li>
<?php } ?>
</ul>
所以我创建了两种类型的 onClicks,即 selectCountry() 和 selectPlaceholder()。
这是我在索引页上的 JavaScript 代码:
$(document).ready(function(){
$("#search-box").keyup(function(){
$.ajax({
type: "POST",
url: "/VCSWeb/wp-content/themes/i-excel-child/autocomplete.php",
data:'keyword='+$(this).val(),
beforeSend: function(){
$("#search-box").css("background","#FFF url(LoaderIcon.gif) no-repeat 165px");
},
success: function(data){
$("#suggesstion-box ").show();
$("#suggesstion-box").html(data);
$("#search-box").css("background","#FFF");
}
});
});
});
function selectCountry(val) {
$("#search-box").val(val);
$("#suggesstion-box").hide();
}
function selectPlaceholder(val) {
$("placeholder").val("data-placeholder='"+val+"' ");
}
正如您在底部看到的,我试图将 selectPlaceholder() 转换为变量,然后将其弹出到我的标签中以创建类似 data-placeholder='selectPlacehoder(value)' 的内容。
这是我的 HTML
<div class="frmSearch placeholder" style="width:90%; float:left;" ---> data-placeholder='text' <---(place javascript variable here) >
<label>
<input size="59" maxlength="75" type="search" name="search" class="search_keyword" id="search-box" placeholder="Enter Jurisdiction, County, City, or Client Name" />
<div class="box" id="suggesstion-box"></div>
</label>
</div>
这是我的 CSS,用于使占位符永久保留在该位置
.placeholder
{
position: relative;
}
.placeholder::after
{
position: absolute;
left:150px;
top: 10px;
font-size:18px;
content: attr(data-placeholder);
pointer-events: none;
opacity: 0.6;
}
总的来说,需要帮助将属性转换为变量,然后获取该变量并将其弹出到 html div 类型标记中。
function selectPlaceholder(val) {
$("placeholder").val("data-placeholder='"+val+"' ");
}
那么这可能吗?我们应该怎么做?我需要创建一个 id 然后放置它吗?我需要将其放入 .prop 中吗?有更好的办法吗?
最佳答案
如果我理解您的问题,您希望用户看到他们选择的自动完成选项的文本,但您只想将行 ID 发送到服务器。我会考虑不将自动完成搜索框作为发送到服务器的输入。相反,我会使用 name=[search]
创建一个隐藏输入,并使用要发送到服务器的行 ID 对其进行更新,然后让自动完成输入向用户显示完整的描述。在我看来,这是更传统的做法。
所以在 PHP 自动完成行中:
<ul id="country-list" >
<?php
while($row=pg_fetch_assoc($result)){
?> <li onClick="selectCountry('<?php echo $row["id"]; ?>'); updateSearchBox(this);"> <?php echo "<strong>(".$row["id"].")</strong> ".$row["country"].", ".$row["state"]; ?> </li>
<?php } ?>
</ul>
Javascript:
function selectCountry(val) {
$("#search-id").val(val);
$("#suggesstion-box").hide();
}
function updateSearchBox(el) {
$("#search-box").val($(el).html());
}
主要 HTML:
<div class="frmSearch" style="width:90%; float:left;">
<label>
<input size="59" maxlength="75" type="search" class="search_keyword" id="search-box" placeholder="Enter Jurisdiction, County, City, or Client Name" />
<input type="hidden" name="search" id="search-id"/>
<div class="box" id="suggesstion-box"></div>
</label>
</div>
关于Javascript - 在自动完成结果上单击添加永久占位符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39047697/
我的 DateTime 对象使用 DateTime.Now 分配了本地时间。我想知道一旦夏令时开始/结束,这个对象是否会给出正确的当前本地时间。或者我需要解决方法吗? 最佳答案 是的,DateTime
假设我需要“特定类别中可用的项目数量”与“所有项目的数量”的比率。请考虑这样的 MySQL 表: /* mysql> select * from Item; +----+------------+--
我有这张 table http://codepen.io/MetCastle/pen/lxceL我想使用 jQuery 根据 input type="number" 隐藏/显示列。表示整个列: Pro
想要制作一个看起来像这样的网格,其中 div/section 以百分比表示。 margin 在任何地方都是一样的。 http://www.ladda-upp.se/bilder/giefekcmgwm
这将返回 1(又名 TRUE) SELECT DATE_SUB(NOW(), INTERVAL 24*100 HOUR) = DATE_SUB(NOW(), INTERVAL 100 DAY); 10
我一直在尝试在 UIScrollView 中获取 UIView 的转换后的 CGRect。如果我不放大它就可以正常工作,但是一旦我放大,新的 CGRect 就会发生变化。这是让我接近的代码: CGFl
对于家庭作业,我需要在不使用内置模 (%) 运算符的情况下返回 num1 除以 num2 后的余数。我能够通过以下代码让大多数测试通过,但我仍然坚持如何解释给定数字的 -/+ 符号。我需要保留 num
我用 Javascript 创建了一个倒数计时器;它是成功的,期望未完成。事实上,从数学上讲,它是正确的,但是谷歌浏览器的浏览器设置“暂停”(因为没有更好的术语)SetInterval/Timeout
我有两个 的,每个都设置为其容器宽度的 45%。有没有办法使 居中?使得它们在容器的左右两侧有相同的空间,并且它们之间也有空间。 一开始我只是做了每个 50% 并且有 padding: 0px 2
我是一名优秀的程序员,十分优秀!