Статьи

jQuery Get / Set Script для управления значениями формы

Управляйте значениями форм с помощью этого замечательного скрипта jQuery. Это сэкономит вам много времени и поможет сделать ваш код более чистым, а также более простым в обращении и ссылках на значения форм.

Характеристики

  • Получить / установить функции для ввода формы
  • Интеграция для всех типов ввода, включая флажок и радио
  • Чистый и простой в использовании

использование

//GET
$.field('myInputName');
//returns input value

//SET
$.field('myInputName','myValue');
//sets input value and returns jQuery selector of input

Код

 (function(){
   /**
   * This jQuery Extension adds the ability to access form fields by the shortcut property .field()
   * which gets and sets input field values by name using the .find() method.
   * @param string inputName
   * @param mixed value (optional)
   */
	$.fn.field = function( inputName, value){

		if(typeof inputName!='string' ){
			return false;
		}
	   
		var $inputElement = $(this).find('[name='+inputName+']');
		
		/*
		 *  Get request, return the input fields value.
		 */
		if(typeof value==='undefined' && $inputElement.length>=1)
		{
			switch($inputElement.attr('type')){
				case 'checkbox':
					return $inputElement.is(':checked');
					break;
				case 'radio':
					var result;
					$inputElement.each(function(i,val){
						if($(this).is(':checked'))
							result = $(this).val();
					});
					return result;
					break;
				default:
				   return $inputElement.val();
				   break;
			}
		}
		
		 /*
		 *  Set request, set the input field to the value provided
		 *  and return a reference to the jQuery selector for the input
		 */
		else
		{
			switch($inputElement.attr('type')){
				case 'checkbox':
					$inputElement.attr({checked: value});
					break;
				case 'radio':
					$inputElement.each(function(i){
					   if($(this).val()==value)
					   {
						  $(this).attr({checked: true});
					   }
					});
					break;
				case undefined:
				   $(this).append('' );
				   break;
				default:
				   $inputElement.val(value);
				   break;
			}
			return $inputElement;
		}
	}
})();