угловой получить значение выбранного параметра и вставить в ссылку

0

Я пытаюсь заполнить ссылку с помощью выбранного варианта в раскрывающемся списке. Я не знаю, как получить значение из опции about и не повторять его.

<div ng-app="" ng-init="horsepower=[
{hp:'15',value:'https://www.compressorworld.com/15-hp-rotary-screw-air-compressor-system-230-3-60-total-air-system.html'},
{hp:'20',value:'https://www.compressorworld.com/20-hp-rotary-screw-air-compressors-complete-air-system-lifetime-airend-warranty.html'}]">


<select>
  <option ng-repeat="x in horsepower" value="{{ x.value}}" ng-model="hp">{{ x.hp}}</option>
</select>
<br/><br/>
<!-- get the selected value of select -->
<a ng-href="{{}}">
buy
</a>

</div>

https://jsfiddle.net/blynn17/171g1x2z/1/

  • 0
    Я не совсем понимаю вопрос: что вы пытаетесь сделать? В чем конкретная проблема? Что повторяется? Я проверил скрипку, но не стал мудрее ...
  • 0
    Я пытаюсь заполнить ссылку правильным значением, связанным с выбранным параметром.
Показать ещё 2 комментария
Теги:

5 ответов

2

Лучше использовать ng-options в теге select и использовать ng-model для вызова выбранного значения в href

<select ng-options="x as x.hp for x in horsepower" value="{{ x.value}}" ng-model="hp">

Демо https://jsfiddle.net/heshamElghndour/bhedvue7/

1

попробуй это.

var app = angular.module("app",[]);

app.controller("ctrl" , function($scope){
$scope.test = function(value){
  $scope.href= value;
  
  }
  
  });
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="ctrl" ng-init="horsepower=[
{hp:'15',value:'https://www.compressorworld.com/15-hp-rotary-screw-air-compressor-system-230-3-60-total-air-system.html'},
{hp:'20',value:'https://www.compressorworld.com/20-hp-rotary-screw-air-compressors-complete-air-system-lifetime-airend-warranty.html'}]">

<select ng-model="hp" ng-options="x.value as x.hp for x in horsepower" ng-change="test(hp)"></select>

<br/><br/>
<!-- get the selected value of select -->
<a ng-href="{{href}}">
buy
</a>

</div>
0

поэтому в основном вы поместили ng-модель в неправильное место, вы должны поместить ее на выбор, а не на опцию. кроме этого, вы должны использовать переменную hp внутри href, и вот она там!

<div ng-app="" ng-init="horsepower=[
{hp:'15',value:'https://www.compressorworld.com/15-hp-rotary-screw-air-compressor-system-230-3-60-total-air-system.html'},
{hp:'20',value:'https://www.compressorworld.com/20-hp-rotary-screw-air-compressors-complete-air-system-lifetime-airend-warranty.html'}]">


<select  ng-model="hp">
  <option ng-repeat="x in horsepower" value="{{ x.value}}">{{ x.hp}}</option>
</select>
<br/><br/>
<!-- get the selected value of select -->
<a href="{{hp}}">
buy {{hp}}
</a>

</div>

вы можете узнать больше об угловых и выбрать здесь - https://docs.angularjs.org/api/ng/directive/select

0

Как и выше, но немного чище

<div ng-app="" ng-init="horsepower=[
{hp:'15',value:'https://www.compressorworld.com/15-hp-rotary-screw-air-compressor-system-230-3-60-total-air-system.html'},
{hp:'20',value:'https://www.compressorworld.com/20-hp-rotary-screw-air-compressors-complete-air-system-lifetime-airend-warranty.html'}]">


<select ng-options="x.hp for x in horsepower" ng-model="hp"></select>
<br/><br/>
<!-- get the selected value of select -->
<a ng-href="{{hp.value}}">
buy
</a>
</div>
  • 0
    Есть ли способ его выбрать = "выбран" для первого <вариант>?
  • 0
    Да, попробуйте добавить hp=horsepower[0] в конце вашего ng-init
0

Рабочая скрипка.

Используйте ngOptions вместо ngRepeat и используйте ngModel в теге select.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню