我正在使用PHP开发一个应用程序,我需要将使用select从用户获取的1-1-1
等值转换为三个不同的时序,如9 AM, 3 PM, 9 PM
。
以下是我的HTML代码。请建议我一些方法。
<select name="dos" id="dos1">
<option>1-0-1</option>
<option>0-0-1</option>
<option>1-1-1</option>
<option>1-0-0</option>
<option>0-1-0</option>
<option>1-1-0</option>
</select>
如果是0-0-1
,则只打印9 PM
。
答案 0 :(得分:1)
正如@Tushar建议的那样,在添加change
的{{1}}之后,在value
选择事件中获取所选值,如下所示:
<option>
&#13;
$('#dos1').change(function(){
$('#result').empty();
if($(this).val() != -1)
$('#result').html($(this).val());
});
&#13;
<强>更新强>
如果您的数据库值为<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select name="dos" id="dos1">
<option value="-1">--Select--</option>
<option value="9 AM, 9 PM">1-0-1</option>
<option value="9 PM">0-0-1</option>
<option value="9 AM, 3 PM, 9 PM">1-1-1</option>
<option value="9 AM">1-0-0</option>
<option value="3 PM">0-1-0</option>
<option value="9 AM, 3 PM">1-1-0</option>
</select>
<div id="result"></div>
格式,则在设置显示HTML时设置1-1-1
属性,并在JavaScript方法中,中断数组中的选定值并将索引value
替换为指定值,如下:
0/1
&#13;
$('#dos1').change(function(){
$('#result').empty();
if($(this).val() != -1){
var result = "";
var valArray = $(this).val().split('-');
if(valArray[0] == 1)
result += "9 AM, ";
if(valArray[1] == 1)
result += "3 PM, ";
if(valArray[2] == 1)
result += "9 PM";
// Remove last comma
result = result.replace(/,\s*$/, "");
$('#result').html(result);
}
});
&#13;
答案 1 :(得分:1)
尝试在您的应用中使用值属性:
<pre>
<select>
<option value="9am">1-0-1</option>
<option value="3pm">0-0-1</option>
<option value="9pm">1-1-1</option>
<option value="9am">1-0-0</option>
<option value="3pm">0-1-0</option>
<option value="9pm">1-1-0</option>
</select>
</pre>
希望能解决你的问题。