PHP链接两个下拉菜单:首先向用户显示->提交秒值[隐藏]
Posted
技术标签:
【中文标题】PHP链接两个下拉菜单:首先向用户显示->提交秒值[隐藏]【英文标题】:PHP link two drop downs: Show first to users -> submit seconds value [hidden] 【发布时间】:2018-11-26 13:23:18 【问题描述】:我有一个没有英文 UrlEncoded 值(%D8%B3%D9%84%D8) 的下拉菜单,如您所见,该值不是人类可读的格式。
<option value='$title_v'>" . $title . "</option>
在下一步我添加标签:
<option value='$title_v' label='".urldecode ($title)."'>" . $title . "</option>
它在除火狐之外的所有浏览器中都能完美运行(火狐不支持标签属性)
在下一步中,我在选项中解码了$title
:
<option value='$title_v' label='".urldecode ($title)."'>" . urldecode ($title) . "</option>"
但解码$title
返回错误答案,ajax函数无法加载内容。
所以我写了另一行来检测firefox:
$browser = $_SERVER['HTTP_USER_AGENT'];
if (strpos($browser, 'Firefox') or strpos($browser, 'firefox') or strpos($browser, 'Mozilla') or strpos($browser, 'mozilla') !== false)
工作正常,所以如果 "firefox" = true :
我想以人类可读的格式向用户显示“新选择/选项”,用户可以阅读和选择他们想要的项目,但要提交值,请使用隐藏的原始编码“选择/选项”,但与“新选择/选项”同步
我可以吗?怎么样?
您知道更好的解决方案吗?
【问题讨论】:
使用有什么问题?<option value='$title_v'>" . urldecode ($title) . "</option>
像这样:link
<option value='$title_v'>" . urldecode ($title) . "</option>
将为基于$title
的 ajax 加载函数返回错误字符串,并且 ajax 返回“未找到任何内容”
不,像这样:link
那么,您希望每个选项有多个数据字段吗? <option value='$title_v' data-title='$title'>" . urldecode ($title) . "</option>
怎么样
【参考方案1】:
使用 jQuery 和第二个值字段。
$('select').on('change', function(e)
alert($(this).find(':selected').val());
alert($(this).find(':selected').data('value2'));
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select>
<option selected disabled>Select</option>
<option value='text 2' data-value2="%D8%B3%D9%84%D8%A7%D9%85">only show this field</option>
</select>
【讨论】:
以上是关于PHP链接两个下拉菜单:首先向用户显示->提交秒值[隐藏]的主要内容,如果未能解决你的问题,请参考以下文章