将值1-1-1转换为三个不同的时间

时间:2016-01-05 06:41:18

标签: javascript php html

我正在使用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

2 个答案:

答案 0 :(得分:1)

正如@Tushar建议的那样,在添加change的{​​{1}}之后,在value选择事件中获取所选值,如下所示:

&#13;
&#13;
<option>
&#13;
$('#dos1').change(function(){
	$('#result').empty();
	if($(this).val() != -1)
		$('#result').html($(this).val());
});
&#13;
&#13;
&#13;

Fiddle DEMO

<强>更新
如果您的数据库值为<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替换为指定值,如下:

&#13;
&#13;
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;
&#13;
&#13;

Updated Fiddle DEMO

答案 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>

希望能解决你的问题。