import { jQuery } from "../core.js"; import { access } from "../core/access.js"; import { isIE } from "../var/isIE.js"; import "../selector.js"; var rfocusable = /^(?:input|select|textarea|button)$/i, rclickable = /^(?:a|area)$/i; jQuery.fn.extend( { prop: function( name, value ) { return access( this, jQuery.prop, name, value, arguments.length > 1 ); }, removeProp: function( name ) { return this.each( function() { delete this[ jQuery.propFix[ name ] || name ]; } ); } } ); jQuery.extend( { prop: function( elem, name, value ) { var ret, hooks, nType = elem.nodeType; // Don't get/set properties on text, comment and attribute nodes if ( nType === 3 || nType === 8 || nType === 2 ) { return; } if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { // Fix name and attach hooks name = jQuery.propFix[ name ] || name; hooks = jQuery.propHooks[ name ]; } if ( value !== undefined ) { if ( hooks && "set" in hooks && ( ret = hooks.set( elem, value, name ) ) !== undefined ) { return ret; } return ( elem[ name ] = value ); } if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { return ret; } return elem[ name ]; }, propHooks: { tabIndex: { get: function( elem ) { // Support: IE <=9 - 11+ // elem.tabIndex doesn't always return the // correct value when it hasn't been explicitly set // Use proper attribute retrieval (trac-12072) var tabindex = elem.getAttribute( "tabindex" ); if ( tabindex ) { return parseInt( tabindex, 10 ); } if ( rfocusable.test( elem.nodeName ) || // href-less anchor's `tabIndex` property value is `0` and // the `tabindex` attribute value: `null`. We want `-1`. rclickable.test( elem.nodeName ) && elem.href ) { return 0; } return -1; } } }, propFix: { "for": "htmlFor", "class": "className" } } ); // Support: IE <=11+ // Accessing the selectedIndex property forces the browser to respect // setting selected on the option. The getter ensures a default option // is selected when in an optgroup. ESLint rule "no-unused-expressions" // is disabled for this code since it considers such accessions noop. if ( isIE ) { jQuery.propHooks.selected = { get: function( elem ) { var parent = elem.parentNode; if ( parent && parent.parentNode ) { // eslint-disable-next-line no-unused-expressions parent.parentNode.selectedIndex; } return null; }, set: function( elem ) { var parent = elem.parentNode; if ( parent ) { // eslint-disable-next-line no-unused-expressions parent.selectedIndex; if ( parent.parentNode ) { // eslint-disable-next-line no-unused-expressions parent.parentNode.selectedIndex; } } } }; } jQuery.each( [ "tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable" ], function() { jQuery.propFix[ this.toLowerCase() ] = this; } ); ctions/github-actions-e7ab6fa4fa'>aboutsummaryrefslogtreecommitdiffstats
path: root/demos/spinner/decimal.html
blob: 0b39f2bac33d03eecaaea6fd1bad469571c717da (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<!doctype html>
<html lang="en">
<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<title>jQuery UI Spinner - Decimal</title>
	<link rel="stylesheet" href="../../themes/base/all.css">
	<link rel="stylesheet" href="../demos.css">
	<script src="../../external/requirejs/require.js"></script>
	<script src="../bootstrap.js" data-modules="external/globalize/globalize external/globalize/globalize.culture.de-DE external/globalize/globalize.culture.ja-JP external/jquery-mousewheel/jquery.mousewheel">
		$( "#spinner" ).spinner({
			step: 0.01,
			numberFormat: "n"
		});

		$( "#culture" ).on( "change", function() {
			var current = $( "#spinner" ).spinner( "value" );
			Globalize.culture( $(this).val() );
			$( "#spinner" ).spinner( "value", current );
		});
	</script>
</head>
<body>

<p>
	<label for="spinner">Decimal spinner:</label>
	<input id="spinner" name="spinner" value="5.06">
</p>
<p>
	<label for="culture">Select a culture to use for formatting:</label>
	<select id="culture">
		<option value="en-EN" selected="selected">English</option>
		<option value="de-DE">German</option>
		<option value="ja-JP">Japanese</option>
	</select>
</p>

<div class="demo-description">
<p>
	Example of a decimal spinner. Step is set to 0.01.
	<br>The code handling the culture change reads the current spinner value,
	then changes the culture, then sets the value again, resulting in an updated
	formatting, based on the new culture.
</p>
</div>
</body>
</html>